我尝试通过查找值_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);
}
答案 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) });