gpt4 book ai didi

java - 转换为推荐的参数化查询方法

转载 作者:行者123 更新时间:2023-11-30 02:47:25 25 4
gpt4 key购买 nike

如你所见,我使用原始查询从数据库中获取数据

public ArrayList<GS> getSchedules() 
{
try{
Cursor c1 = sdb.rawQuery("SELECT DISTINCT * FROM Schedules", null);
gs = new ArrayList<GS>();
while (c1.moveToNext())
{
GS q1 = new GS();
q1.setS_name(c1.getString(1));
q1.setP_name(c1.getString(2));
q1.setDesc(c1.getString(3));
gs.add(q1);
}
}
catch (Exception e) {
e.printStackTrace();
}
return gs;
}

此方法成功运行,但我想更改它以获得推荐的参数化查询方法?

抱歉,如果我的问题没有显示任何研究成果,但我已经尝试过,但我迷路了。

提前致谢..

最佳答案

您应该尽可能避免使用 rawQuery...总是更喜欢内置的 SQLiteDatabase 查询方法而不是 rawQuery

所以你可以用这个方法

public Cursor query (boolean distinct, String table, 
String[] columns, String selection,
String[] selectionArgs, String groupBy,
String having, String orderBy, String limit)

所以改变

Cursor c1 = sdb.rawQuery("SELECT DISTINCT * FROM Schedules", null);

Cursor c1 = sdb.query(true,"Schedules",null,null,null,null,null,null,null);

有关详细信息,请参阅 Android sqlite query

注意:正如@Gabe Sechan 所建议的,在 DISTINCT 中,数据库通常更有效地将 * 替换为您实际需要的列的名称

关于java - 转换为推荐的参数化查询方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24799182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com