SQLiteデータベースの列の値がBlob型である場合、NULL値であるかどうかをどのようにチェックするのですか?BLOBがヌルかどうかを確認する方法
は、私はそうのようなカーソルを取得しています:画像列の値は、インデックス4は、nullの場合
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;
}
はどうすれば確認できますか?私は、次のことを試してみました:
- 実際に値が最も確か
articleCursor
が有効なカーソル(falseを返す)であるarticleCursor.getBlob(4) == null
を使用 - nullになる必要があるときは常にfalseを返すisNull()方法を使用して を
articleCursor.getBlob(4)[0]
を印刷すると、問題がさらに複雑になるため、と似ていない78
または91
などの値が返されます。
また、データベースにはその列にデータが含まれている必要があります。 nullにする必要があります。何か案は?ありがとう!
コマンドラインでプレーンSQLクエリがその列/行を返すのは何ですか? –
'x'の代わりに、または 'x'を補完する 'length(x)'のクエリを試しましたか? xがヌルで、任意のオクテットシーケンスでdBドライバやクライアントバッファを混同しない場合は、Nullを返します。 – collapsar
@DaDaDomプレーンクエリはNULLを返します。 –