在Android的選擇和空如果我叫像下面的SQLiteDatabase方法查詢:的Android SQLite的查詢有問號在selectionArgs兩個
sqlitedb.query("mytable", null, "name = ?",
new String[] {null}, null, null, null);
什麼是預期的結果?
我期望NullPointerException
,但它似乎我得到一個遊標回來,似乎有與我執行的最後一個非空的selectionArgs查詢相同的數據。這是預期的行爲,我想我必須在調用此方法之前進行自己的空檢查,而是傳遞「name IS NULL」以獲得正確的結果?
呃,這與@Kurtis無關。他正在談論SQL和SQLite的論點。 – Gray
@格雷我想你錯了。我在我的答案中假設沒有空指針異常發生,因爲在Java比較「」和空字符串是有效的。他在他的問題中特別提到「爲什麼沒有空指針異常」。那怎麼不解決他在說什麼? –
對不起,我錯過了。 _answer_不是關於Java對象測試,而是關於SQL參數處理和空值處理。 – Gray