0

我有一个带有名称字段的站点的 SQLLite 数据库。我有保存和创建按钮。我想运行 my addRecord()orupdateRecord()取决于名称字段中的值是否存在。

我有这个方法在我的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基于提供的名称字符串?

IE

public Cursor getRowID(String _name) {
        ...
    }
4

1 回答 1

1

在 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));
于 2013-05-18T21:58:43.770 回答