0

我已经创建了下一个 db 文件 -

String sql = ""
                + "CREATE TABLE "+ Constants.TABLE_NAME + " ("
                + Constants.NAME_ID + " INTEGER PRIMARY KEY    AUTOINCREMENT,"
                + Constants.NAME_PERSON + " TEXT"
                + ")";
        db.execSQL(sql);

现在我想知道的是,如何能够在数据库上运行并知道数据库中是否已经存在名称,如果是,我想获取该行的 id。

我能理解的是我应该使用

Cursor c= db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy) 

但我不知道接下来我应该做什么 - 所以感谢任何帮助

4

3 回答 3

2

您可以将其添加到您的数据库中并调用将“待搜索键”作为参数传递的函数

    public boolean checkIfExist(String name) {
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor cursor = db.query(TABLE_INFO, new String[] { KEY_TITLE}, KEY_TITLE + "=?",
                new String[] { name }, null, null, null, null);
        if (cursor != null)
            cursor.moveToFirst();

        if (cursor.moveToFirst()) {
            return true;
        }else{
            return false;
        }
    }

其中 KEY_TITLE 是表中的列名。

于 2013-11-08T13:36:49.033 回答
0

发出 SELECT 请求。然后检查if(cursor.moveToFirst())您的名字是否已经存在。(moveToFirst()如果至少有 1 个值,则返回 true)。因此,如果您的价值存在,请使用cursor.getString(cursor.getColumnIndex("_id"));

于 2013-11-08T13:37:23.903 回答
0

举个例子:

AndroidSQLite AndroidSQLite 与多表

于 2013-11-08T13:36:25.953 回答