我有一个带有名称字段的站点的sqlite数据库。我有保存和创建按钮。我想运行addRecord()
或updateRecord()
取决于name字段中的值是否存在。
我有这个方法在我的DBAdapter
:
public Cursor getRow(long rowId) {
String where = KEY_ROWID + "=" + rowId;
Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, where, null, null,
null, null, null);
if (c != null) {
c.moveToFirst();
}
return c;
}
我如何创建一个类似的方法来获得基于名称字符串提供的rowID
?
。
public Cursor getRowID(String _name) {
...
}
在where子句中搜索名称而不是ID。
public Cursor getRowID(String _name) {
String where = "name = '" + _name + "'";
Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, where, null, null,
null, null, null);
if (c != null) {
c.moveToFirst();
}
return c;
}
从光标中获取rowID,如下所示:
Cursor c = getRowID("John");
int rowID = c.getInt(c.getColumnIndex(KEY_ROWID));