[英]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.