嵌入式学习39-程序创建数据库及查找

1.sqlite3_open

int sqlite3_open(

const char *filename, /* Database filename (UTF-8) */

sqlite3 **ppDb /* OUT: SQLite db handle */

);

功能:

打开 数据库文件(创建一个数据库连接)

参数:

filename : 数据库文件路径

ppDb : 操作 数据库指针 存放空间的首地址

返回值:

成功 返回 SQLITE_OK

失败 返回 错误码

2.sqlite3_close

int sqlite3_close(sqlite3*);

功能:

关闭 数据库连接

3.sqlite3_exec

int sqlite3_exec(

sqlite3*, /* An open database */

const char *sql, /* SQL to be evaluated */

int (*callback)(void*,int,char**,char**), /* Callback function */

void *, /* 1st argument to callback */

char **errmsg /* Error msg written here */

);

功能:

执行一条SQL语句

参数:

sqlite3*: 数据库 句柄

句柄: 是一个用来 标识对象 或者项目 的**标识符**,可以用来描述窗体、文件等 还有注意 句柄(Handle)**** 不是常量

sql: 要执行的 SQL语句 字符串首地址

callback: (回调函数) 只有select 时才会使用 (匹配数据) 其余 调用时传递 NULL

void*: 给 回调函数传参

errmsg: 出错信息 存放空间首地址 (使用完毕后使用sqlite3_free释放空间)

返回值:

成功 返回 SQLITE_OK

失败返回错误码

callback

strstr:子字符串查找

strstr函数声明:

char *strstr( const char * str1 , const char * str2 );

练习:

实现将dict.txt文件中的所有单词和含义插入到数据库中

5.调试段错误 :

1.根据给定链接设置系统允许生成core 文件

2.编译代码时加入**-g** 选项

gcc filename.c -g -lsqlite3

3.执行代码让代码产生段错误(会生成一个包含错误信息的core文件)

4.使用gdb调试core文件

gdb a.out core

5.可以直接看到产生段错误的代码的位置

6.html

meta:设置编码格式

相关推荐
Gain_chance1 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
XH华1 小时前
备战蓝桥杯,第九章:结构体和类
学习·蓝桥杯
数据知道2 小时前
PostgreSQL 故障排查:如何找出数据库中最耗时的 SQL 语句
数据库·sql·postgresql
qq_12498707532 小时前
基于SSM的动物保护系统的设计与实现(源码+论文+部署+安装)
java·数据库·spring boot·毕业设计·ssm·计算机毕业设计
枷锁—sha2 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
Gain_chance2 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
此生只爱蛋2 小时前
【Redis】主从复制
数据库·redis
马猴烧酒.3 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
天天爱吃肉82183 小时前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车