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

Java 如何检查数据库中是否存在记录?,java,android,database,eclipse,sqlite,Java,Android,Database,Eclipse,Sqlite,我正在用Eclipse开发一个应用程序。我想检查这些值是否已插入数据库,以防止再次插入。如果尚未插入该值,则我希望使用mySQLiteAdapter.insert()填充数据库记录的方法,如下所示: mySQLiteAdapter.insert("1"); mySQLiteAdapter.insert("apel"); mySQLiteAdapter.insert("Peal"); mySQLiteA

我正在用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(“艺术家”,null,艺术家)。如果没有具有给定主键的记录,它将插入该记录。如果已经有记录,它将更新它


希望这个答案能告诉您如何实现这一点以及您可以使用的东西。

使您的列唯一,如果您尝试添加相同的值,您的数据库将抛出异常。