《少女们啊,绽放吧!——《少女们よ》第四集,青春的闪耀与蜕变》

核心内容摘要

告别匆忙!Tom提醒30秒中转进站,原来取消这么简单!
XVDEVIOS破解中文最新版本:解锁无限可能,重塑数字体验!

御梦子:点亮你的想象,开启无限可能

SQLite简介•轻量化易用的嵌入式数据库用于设备端的数据管理可以理解成单点的数据库。

传统服务器型数据库用于管理多端设备更加复杂。

• SQLite是一个无服务器的数据库是自包含的(可以SQLite理解为一个文件)。

这也称为嵌入式数据库这意味着数据库引擎作为 应用程序的一部分运行。

1 安装

把下载的文件sqlite-autoconf-

tar.gz上传到开发板

tar xvf sqlite-autoconf-

tar.gz 解压

cd sqlite-autoconf-3390000 进入文件夹

./configure --prefix/usr/local 配置安装路径在/usr/local

make 编译//比较久10分钟

sudo make install 安装

SQLite语句

1 创建数据库方式一 sqlite3 进入数据库 .open test.db .quit 数据库退出后在命令当前路径创建数据库test.db。

方式二 sqlite3 test.db //在命令运行当前窗口创建数据库test.db //在数据库命令下 .databases 列出当前打开的数据库 .quit 退出

2 其他语句

创建一张表格: create table stu2(id Integer,name char,score Integer);

插入一条记录: insert into stu values(18130106,huang,

; insert into stu2 values(18130101,gang,

; 和都行 insert into stu(name,score) values(huanggang,

; 插入部分字段内容

查看数据库的记录 select * from stu; //查询所有字段的结果 select name,score from stu; //查询数据库中部分字段的内容

删除一条记录 delete from stu where id 18130101;

更改一条记录 update stu set name huangg where id 18130106;

删除一张表 drop table stu;

增加一列 alter table stu add column sex char;

SQLite的编程操作

sqlite3_open(const char *filename, sqlite3 **ppDb) : 该例程打开一个指向 SQLite 数据库文件的连接返回一个用于其他 SQLite 程序的数据库连接对象。

sqlite3_close(sqlite3*) : 该例程关闭之前调用 sqlite3_open() 打开的数据库连接。

所有与连接相关的语句都应在连接关闭之前完 成。

如果还有查询没有完成sqlite3_close() 将返回 SQLITE_BUSY 禁止关闭的错误消息。

const char *sqlite3_errmsg(sqlite3*) : sqlite3_errcode() 通常用来获取最近调用的API接口返回的错误代码。

sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg) : 该例程提供了一个执行 SQL 命令的快捷方式SQL 命令由 sql 参数提供可以由多个 SQL 命令组成。

在这里第一个参数 sqlite3 是打开的数据库对象sqlite_callback 是一个回调data 作为其第一个 参数errmsg 将被返回用来获取程序生成的任何错误。

sqlite3_exec() 程序解析并执行由 sql 参数所给的每个命令直到字符串结束或者遇到错误为止。

int callback(void *arg, int column_size, char *column_value[], char *column_name[]) 参数分析void *arg是sqlite3_exec函数的第四个参数 column_size数据库的字段 数 column_value[]列的值 column_name字段名字•这是错误代码,如图:• 代码#include stdio.h #include sqlite

h int callback(void *arg, int column_size, char *column_value[], char *column_name[]){ int i; printf(arg%s\n,(char *)arg); for(i0;icolumn_size;i){ printf(%s %s\n, column_name[i], column_value[i]); } printf(\n); return 0;//必须返回0这样数据库中有多少条数据,这个回调函数就会被调用多少次 } int main(char argc, char **argv){ sqlite3 *db; char *errorMes NULL; int ret; if(argc

{ printf(Usage: %s xxx.db\n,argv[0]); return -1; } if( (ret sqlite3_open(argv[1],db)) SQLITE_OK){ printf(open %s success\n,argv[1]); }else{ printf(error:%s,%d\n,sqlite3_errmsg(db),ret); if(ret

{ printf(permission den\n); } return -1; } //sqlite3_exec(sqlite3*, const char *sql, sqlite_callback, void *data, char **errmsg) sqlite3_exec(db, select * from stu;,callback, content of sql:, errorMes);//errorMes 不会发生段错误会分配空间的 sqlite3_close(db); printf(done\n); return 0; }

白丝玉导管必备素材-白丝玉导管必备素材应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123