我正在尝试从sqlite database
public Integer deleteData (String id){
SQLiteDatabase db = this.getWritableDatabase();
return db.delete(TABLE_NAME, "id" + "=?", new String[]{id});
}
到目前为止,delete
查询工作良好。但是我很难找到特定行的特定id
。
我试图根据特定的字段内容查询数据。
public Integer getId(String desc, Integer id){
SQLiteDatabase db = this.getWritableDatabase();
db.rawQuery("SELECT id FROM fap_table WHERE description = '"+desc+"'" , null);
return id;
}
但是我一直在出错。我如何查询数据库行以检索其ID。请帮忙。
答案 0 :(得分:0)
使用此代码获取ID:
public int getRow(String desc){
int id = 0;
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery("SELECT id FROM fap_table WHERE description = '"+desc+"'" , null);
if (cursor != null) {
if (cursor.moveToFirst())
id = cursor.getInt(0);
cursor.close();
}
db.close();
return id;
}
您的代码出现错误,未将db.rawQuery()
的结果分配给游标对象。
db.rawQuery()
返回所需的游标,并从中提取唯一的ID(如果存在)的列。
如果光标为空,则返回0
。