我正在使用Eclipse开发应用程序。我想检查是否已将值插入数据库以防止再次插入。如果尚未插入该值,那么我想使用mySQLiteAdapter.insert();
方法填充数据库记录,如下所示:
mySQLiteAdapter.insert("1");
mySQLiteAdapter.insert("apel");
mySQLiteAdapter.insert("Peal");
mySQLiteAdapter.insert("the competitor of samsung");
mySQLiteAdapter.insert("0");
mySQLiteAdapter.insert("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);
。如果没有给定主键,它将插入记录。如果已经有记录,它将更新它。
希望这个答案能说明如何实现这一点以及你可以使用的东西。