在where子句中使用不同类型的SQLite DB select方法

时间:2015-10-01 17:58:00

标签: android sqlite

我有以下代码可以工作并从数据库中获取记录。

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数组中。有没有办法让我仍然可以将这种方法用于混合类型,或者我是否只需要进行原始查询?

1 个答案:

答案 0 :(得分:1)

Integer.toString()方式似乎最好,因为查询方法中的“值将绑定为字符串”。看到答案 Android SQLite query with integer parameter