如何从 sqlite 存储和检索 Blob?
我曾在 C++、Python 中使用过 sqlite,现在(可能)在 C# 中使用过。 在所有这些中,我不知道如何将 blob 插入表中。 如何在 sqlite 中存储和检索 blob?
I have used sqlite in c++, python and now (perhaps) in C#. In all of these I have no idea how to insert a blob into a table. How do I store and retrieve a blob in sqlite?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
以下是在 C# 中执行此操作的方法:
Here's how you can do it in C#:
这对我来说效果很好(C#):
不需要分块。 只需转换为字节数组即可。
This worked fine for me (C#):
No need for chunking. Just cast to a byte array.
由于 C++ 还没有完整的示例,因此您可以通过以下方式插入和检索浮点数据的数组/向量,而无需进行错误检查:
Since there is no complete example for C++ yet, this is how you can insert and retrieve an array/vector of float data without error checking:
我最终采用了这种插入斑点的方法:
为了读回它,代码是:
I ended up with this method for inserting a blob:
For reading it back the code is:
您需要使用 sqlite 的准备语句接口。 基本上,想法是为您的 blob 准备一个带有占位符的语句,然后使用其中一个绑定调用来“绑定”您的数据...
SQLite 准备语句
You need to use sqlite's prepared statements interface. Basically, the idea is that you prepare a statement with a placeholder for your blob, then use one of the bind calls to "bind" your data...
SQLite Prepared Statements
在 C++ 中(没有错误检查):
如果查询将在
blob 之前执行,则可以是
被破坏。SQLITE_STATIC
In C++ (without error checking):
That can be
SQLITE_STATIC
if the query will be executed beforeblob
gets destructed.