簡體   English   中英

SQLite:成功查詢和失敗查詢之間的區別?

[英]SQLite: difference between successful and failed query?

很抱歉這個模糊的問題,但是正如主題所指出的,如果我只有查詢結果,如何判斷查詢是成功還是失敗?

在嘗試獲取單行時,我比較了成功查詢和失敗查詢,我注意到的唯一區別是,設法獲取行的查詢返回了mCount = 1,而另一個返回了mCount = 0

編輯:返回游標的方法。

public Cursor getElement(int elementID){
    SQLiteDatabase database = this.getReadableDatabase();
    Cursor cursor = database.query(TABLE_NAME, new String[]{COLUMN_NAME_UN_ID, COLUMN_NAME_UN_NAME}, COLUMN_NAME_UN_ID + "=?", new String[]{String.valueOf(elementID)}, null, null, null, null);
    if(cursor != null) {
        cursor.moveToFirst();
    }
    return cursor;
}

如果查詢包含語法錯誤,您將獲得異常。

如果查詢不匹配任何記錄,您將獲得一個空光標。

檢查moveTo...()的結果值,以查看光標在移動后是否指向有效行。 游標的典型循環方式是

if (cursor.moveToFirst()) {
  do {
    // do something with row data
  } while (cursor.moveToNext());
}

您也可以使用cursor.getCount()來獲取行數,但是從性能的角度來看,它的效率不如上面的do-while。

SQLiteDatabase query()不會返回null因此無需檢查!= null

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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