请教SQLite数据库读写BLOB字段

请教SQLite数据库读写BLOB字段,第1张

SQLite中如何用api *** 作blob类型的字段

在实际的编程开发当中我们经常要处理一些大容量二进制数据的存储,如或者音乐等等。对于这些二进制数据(blob字段)我们不能像处理普通的文本那样 简单的插入或者查询,为此SQLite提供了一组函数来处理这种BLOB字段类型。下面的代码演示了如何使用这些API函数。

首先我们要建立一个数据库

sqlite3_exec(db, "CREATE TABLE list (fliename varchar(128) UNIQUE, fzip blob);", 0, 0, &zErrMsg);

//由于mmmmrar是一个二进制文件,所以要在使用insert语句时先用?号代替

sqlite3_prepare(db, "insert into list values ('mmmmrar',);", -1, &stat, 0);

FILE fp;

long filesize = 0;

char ffile;

fp = fopen("mmmmrar", "rb");

if(fp != NULL)

{

//计算文件的大小

fseek(fp, 0, SEEK_END);

filesize = ftell(fp);

fseek(fp, 0, SEEK_SET);

//读取文件

ffile = new char[filesize+1];

size_t sz = fread(ffile, sizeof(char), filesize+1, fp);

fclose(fp);

}

//将文件数据绑定到insert语句中,替换“?”部分

sqlite3_bind_blob(stat, 1, ffile, filesize, NULL);

1、执行insert语句的数据库是否是你查看的数据库。SqLite数据库是文件式数据库。容易 *** 作数据库和查看数据库不一致的问题。

2、使用了事务,Insert之后,没有提交事务。

3、查看数据库的时候,是否刷新数据库。

方法/步骤

首先下载 Navicat for SQLite,下载后解压缩。

运行navicatexe 这个主程序,在左上角点击连接

在d出窗口中输入连接名,选择类型,然后在下面选择数据库文件,或者数据库保存位置。

这样就在指定位置创建了一个Sqlite数据库文件了

Sqlite中判断表、字段是否存在。

SQLite库包含一个名字叫做sqlite3的命令行,它可以让用户手工输入并执行面向SQLite数据库的SQL命令。

SQLite:

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是DRichardHipp建立的公有领域项目。

它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的 *** 作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。

SQLite第一个Alpha版本诞生于2000年5月。 至2015年已经有15个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

以上就是关于请教SQLite数据库读写BLOB字段全部的内容,包括:请教SQLite数据库读写BLOB字段、sqlite执行insert语句,返回是SQLITE_OK,但是去看数据库时找不到新插入的数据、如何创建sqlite数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9302474.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存