java – 数据库中的Android记录存在()?

我正在寻找最快和正确的方法来检查数据库中是否存在记录:

public boolean Exists(String _id) {
    Cursor c=db.query(TABLENAME(), new String[] {"1"}, "_ID="+_id, null, null, null, null);
    if (!c.equals(null))
        return c.moveToFirst();
    return false;
}

你看到有什么问题吗?

考虑mDb是你的SqlLiteDatabase类

public boolean Exists(String _id) {
   Cursor cursor = mDb.rawQuery("select 1 from yourTable where _id=%s", 
        new String[] { _id });
   boolean exists = (cursor.getCount() > 0);
   cursor.close();
   return exists;
}

>我把你的参数_id保存为String,但我认为它应该是一个Long。
> select 1比select columnName更快,因为进程不需要从select子句中的表中检索所有值。
>你可以把静态最终常量中的字符串选择1从…中更快。

http://stackoverflow.com/questions/2379550/android-record-exists-in-database

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 数据库中的Android记录存在()?