我的数据库中有一个表,它由以下字段组成:id、group_id、uri_id、name、phone。 在我的数据库管理器文件中,我有一个函数来检查组中是否存在 uri_id。这是函数:
public boolean is_contact_in_group(String uri_id, int group_id)
{
SQLiteDatabase db = db_helper.getReadableDatabase();
Cursor mContactsCursor = db.query(Constants.TABLE_NAME_GROUP_CONTACTS, null,
"group_id="+group_id+"&contact_uri_id="+uri_id, null, null, null, null);
if(mContactsCursor.moveToFirst())
{
mContactsCursor.close();
db.close();
return true;
} else {
mContactsCursor.close();
db.close();
return false;
}
}
现在在我的 Activity 中我只想记录输出:
private void add_new_contact(String uri_id, String name, String number)
{
int group_id = curr_group_id;
String contact_uri_id = uri_id;
String contact_name = name;
String contact_phone = number;
Log.i(DEBUG_TAG, "Is contact exist: "+manager.is_contact_in_group(contact_uri_id, group_id));
}
但是每次我都得到false
,即使有一条记录具有特定的 group_id 和 uri_id。
为什么会发生这种情况以及如何解决?
最佳答案
我想这是因为你的 WHERE
子句是错误的。
改变
"group_id="+group_id+"&contact_uri_id="+uri_id
到
"group_id="+group_id+" AND contact_uri_id="+uri_id
关于android - 检查ID是否存在于数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19037383/