我有以下代码可以工作并从数据库中获取记录。
public Audit getAudit(SQLiteDatabase db, String projectId, String date,String type, int category) {
String[] columns = { "user_id", "submitted", "answers" };
String[] whereArgs = new String[]{projectId, date, type};
Cursor c = db.query("AUDITS", columns, "project_id = ? AND date = ? AND type = ?",whereArgs, null, null, null);
if (c != null)
{
Audit audit = new Audit(projectId, type, category, c.getString(c.getColumnIndex("user_id")), date, c.getInt(c.getColumnIndex("submitted")), c.getString(c.getColumnIndex("user_id")));
return audit;
}
return null;
}
但是现在我想在Where子句中添加另一个列,并且该列包含整数而不是字符串。所以我无法将它添加到包含字符串的whereArgs
数组中。有没有办法让我仍然可以将这种方法用于混合类型,或者我是否只需要进行原始查询?
答案 0 :(得分:1)
Integer.toString()方式似乎最好,因为查询方法中的“值将绑定为字符串”。看到答案 Android SQLite query with integer parameter