如何在sqlite中检查数据库中是否存在记录?

时间:2013-05-06 14:37:19

标签: java android database eclipse 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");

如何检查是否插入了值?

1 个答案:

答案 0 :(得分:0)

首先,使您的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();
}

当然它会有所不同,具体取决于Database Helper类中的函数以及使用它的方式。整个想法只是检查是否有一个带有该id的记录,如果游标计数返回0表示没有具有该id的记录。

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

希望这个答案能说明如何实现这一点以及你可以使用的东西。