0

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

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

如何检查是否已插入 if 值?

4

1 回答 1

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 的记录。

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

希望这个答案能让您了解如何实现这一目标以及您可以使用的东西。

于 2013-05-06T15:54:58.307 回答