如果SQLite数据库中的列属于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
不同。
同样,数据库不可能在该列中包含任何数据;它必须为空。有什么主意吗?谢谢!
2条答案
按热度按时间irlmq6kh1#
方法getBlob()总是有一个值。如果此列的值为空或NULL,则使用方法长度时,结果为1。
示例:
我希望它能帮助你。
jfewjypa2#
请查找以下查询以获得值Y或N
如果BLOB为空,则返回N Else Y。