如何通过知道ID和列来获取特定表字段的值?(SQLite)

时间:2018-07-14 14:15:01

标签: java android sql database sqlite

我尝试通过查找值_id来从数据库中读取值。

private static  final String DATABASE_NAME = "database.db";
private static final String TABLE_NAME = "database";
private static final String COL1 = "_id";
private static final String COL2 = "Name";

    public String getData(int id, String col){
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery("SELECT value FROM " + TABLE_NAME +" WHERE
 /* id = _id and col = COL2 */", null);
    }

1 个答案:

答案 0 :(得分:0)

您必须稍微更改一下查询。

"SELECT * FROM " + TABLE_NAME + " WHERE " + COL1 + "=" + id

用您要传递给方法rawQuery()的String替换它

上述解决方案可以使用,但这可能不是使用rawQuery()方法的最佳方法,因为我们没有使用它的第二个参数selectionArgs。有关详细信息,请参阅official documentation

因此最终的解决方案如下所示:

Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE " + COL1 + "=?", new String[] { String.valueOf(id) });