繁体   English   中英

如何检查记录是否存在于sqlite中?

[英]How to check if a record exist in database or not in sqlite?

我正在使用Eclipse开发应用程序。 我想检查是否已将值插入数据库中,以防止再次插入。 如果尚未插入该值,那么我想使用mySQLiteAdapter.insert(); 填充数据库记录的方法,如下所示:

            mySQLiteAdapter.insert("1");
            mySQLiteAdapter.insert("apel");
            mySQLiteAdapter.insert("Peal");
            mySQLiteAdapter.insert("the competitor of samsung");
            mySQLiteAdapter.insert("0");
            mySQLiteAdapter.insert("1");

如何检查是否已插入值?

首先,使您的ID唯一,并使用类似以下内容的代码:

String sql = "SELECT 1 FROM artist WHERE id=?";
Cursor cursor = mDbHelper.executeSQLQuery(sql, new String[] { Integer.toString(id) });
if (cursor != null) {
            ContentValues artists = new ContentValues();
    if (cursor.getCount() == 0) {
        artists.put("id", id);
        artists.put("artist_name", artist_name);
        mDbHelper.insert("artist", null, artists);
        artists.clear();
    }
    cursor.close();
}

当然,这取决于数据库助手类中的功能和使用方式的不同。 整个想法只是检查是否存在具有该ID的记录,如果游标计数返回0,则意味着不存在具有该ID的记录。

实现此目标的第二种方法是使用REPLACE语句: mDbHElper.replace("artist", null, artists); 如果没有给定的主键,它将插入记录。 如果已经有记录,它将对其进行更新。

希望此答案为您指出如何实现此目标以及可以使用的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM