无法检索BLOB字段的SQLite Android

时间:2019-03-14 20:28:52

标签: android sqlite

我正在将图像插入SQLLite中的表中。我创建了一个表,该表具有一个Blob字段,并且插入的很好(至少我得到了插入记录的ID)。

问题是当我尝试选择Blob字段以在其他任何地方使用它时。

例如: SELECT Field1,ImageBlob FROM Images返回并设置为空。 然而 SELECT Field1 FROM Images返回所有记录。 也 选择* From Images返回一个空集

我可以在where子句中使用该字段。例如,如果我的查询是ImageBlob为NULL的count(),则得到零。但是当我的查询是ImageaBlob不是NULL的Count()时,我得到了表的记录数。

对此有何建议?

1 个答案:

答案 0 :(得分:1)

存在与Android的SQLite实现相关的大小限制。客户端无法检索超出限制的BLOB。您可能会在Android调试日志(或例外)中看到消息。

也许将图像存储为文件?

您还可以使用substr而不是按照此答案Android sqlite how to retrieve blob > 1 mb in chunks correctly

来读取BLOB的多个块

SQLite建议在磁盘上存储大小超过100 KB的值更加有效:https://www.sqlite.org/intern-v-extern-blob.html