C语言下使用SQL语言

需头文件:#include<sqlite.h>---需下载

1.sqlite3_open

int sqlite3_open(

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

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

);

功能:

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

参数:

filename:数据库文件路径

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

返回值:

成功返回SQLITE_OK

失败返回错误码

例如:sqlite3_open("1.db",&ppdb); //ppdb为定义的sqlite3类型的空指针

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*: 数据库句柄

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

callback: 只有在select时才会使用,其余调用时传递NULL

void*: 给回调函数的传参

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

返回值:

成功返回SQLITE_OK

失败返回错误码

例如:sqlite3_exec(ppdb,tmpbuf,NULL,NULL,&errmsg); //对数据库操作的命令存在tmpbuf中

查询数据库时的使用:

sqlite3_exec(ppdb,tmpbuf,callback,qwer,NULL,&errmsg);

callback为一个函数,为找到数据后对数据的处理方式 ,其形式必须与规定的形式相同。且该函数为回调函数,所以必须有return 0;否则只能使用一次。在找到一条相关数据后,该函数被调用一次。

int (*callback)(void*,int,char**,char**)----其有四个参数,参数一为sqlite3_exec的第四个参数,参数二为数据的列数,参数三为每列的所有值,参数四为每列的标题。

相关推荐
Htht11140 分钟前
【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const
数据库·bug
一棵树长得超出它自己1 小时前
数据库系统学习
数据库
小袁搬码2 小时前
PLSQLDeveloper配置OracleInstantClient连接Oracle数据库
数据库·oracle·pl/sqldeveloper
圈圈编码2 小时前
悲观锁和乐观锁
java·开发语言·sql·mysql
学习中的码虫2 小时前
MySQL提升
数据库·mysql
islandzzzz3 小时前
三表查询SQL怎么写?----小白初学+案例引入
数据库
卡布奇诺-海晨4 小时前
MySQL的MVCC机制
数据库·mysql
hao_wujing4 小时前
攻击模型的恶意行为检测
网络·数据库·php
秃头摸鱼侠5 小时前
MySQL查询语句(续)
数据库·mysql
MuYiLuck5 小时前
【redis实战篇】第八天
数据库·redis·缓存