根据内容查询获取sqlite数据库行的id

时间:2018-11-19 18:12:22

标签: sqlite

我正在尝试从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。请帮忙。

1 个答案:

答案 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