[英]Android Sqlite3 database: Cursor in SQLite is not returning null?
有人可以告訴我為什么即使我的數據庫中不存在該記錄,我還是只能得到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;
}
}
正如@DougCurrie所提到的:查詢僅返回非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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.