簡體   English   中英

Android Sqlite3數據庫:SQLite中的游標未返回null?

[英]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;
    }
}

query返回的Cursor始終為非null。 您必須從Cursor讀取以獲取query結果

正如@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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM