有人可以告诉我为什么我只获得true
结果,即使我的数据库中不存在该记录吗?
为了澄清,在我的表格中,_id
是电话号码。
这是我的代码:
public boolean checkifExists(String number){
String[] columns = new String[]{"_id"};
String[] wehreargs = new String[]{number};
this.openDataBase();
if (myDataBase.query("mytable", columns, "_id=?", wehreargs, null, null, null)==null){
myDataBase.query("mytable", columns, "_id=?", wehreargs, null, null, null).close();
this.close();
return false;
} else {
myDataBase.query("mytable", columns, "_id=?", wehreargs, null, null, null).close();
this.close();
return true;
}
}
答案 0 :(得分:1)
答案 1 :(得分:0)
正如@DougCurrie所提到的:Query只返回非Null游标:修改了你的代码:
public boolean checkifExists(String number){
String[] columns = new String[]{"_id"};
String[] wehreargs = new String[]{number};
this.openDataBase();
Cursor c = myDataBase.query("mytable", columns, "_id=?", wehreargs, null, null, null)
boolean hasEntry = c.moveToFirst()
c.close();
this.close()
return hasEntry;
}