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
为a,String
但我认为应该将其作为Long
。 select 1
它比select columnName
因为不需要在select子句中从表中检索所有值而更快。- 您可以将字符串
select 1 from...
放入静态最终常量中,以使其更快。