如何檢查SQLite數據庫中列的值是否爲空,如果它是Blob類型?如何檢查BLOB是否爲空
我獲取一個光標,像這樣:
public Cursor fetchArticle(int i) throws SQLException {
Cursor mCursor = mDatabase.query(true, "api_content",
new String[] { "_id", "ArticleName", "ArticleText","ImageLink", "Image" },
KEY_ID + "=" + i, null, null, null, null, null);
if (mCursor != null) {
mCursor.moveToFirst();
}
return mCursor;
}
我如何檢查是否Image列的值,指數4,爲空?我曾嘗試以下:
- 使用isNull()方法,它始終返回false的時候,其實價值應該肯定是空
- 使用
articleCursor.getBlob(4) == null
,其中articleCursor
是一個有效的光標(返回false)
使問題更加複雜的是,當我打印出articleCursor.getBlob(4)[0]
時,它返回的值如78
或91
,它們不像我認爲的任何東西null
。
而且,數據庫不可能在該列中有任何數據;它必須爲空。有任何想法嗎?謝謝!
命令行上的普通SQL查詢返回該列/行的內容是什麼? –
您是否嘗試過查詢'length(x)'而不是'x'的補充?它將返回Null,如果x爲空,並且不應該由任意八位字節序列混淆dB驅動程序和/或客戶端緩衝區。 – collapsar
@DaDaDom一個普通的查詢返回NULL。 –