sqlite3在c语言的使用
·
sqlite3是单个文件类型的小型数据库,他只有单单的10mb,所以经常用于嵌入式设备当中,那对于sqlite3如何与c语言进行联系呢,下文就来介绍一下。
sqlite3本身就是c语言所写出来的数据库,所以我们直接下载它的源文件。
在下载好压缩包后进行解压,我这里是linux系统,所以使用命令
sudo tar -zxvf sqlite3-xxxx.tar.gz
解压完成之后,我们将文件夹里面的sqlite3.h和sqllite3.c拿出来,他就是我们要使用的库函数。
在创建新文件,我们要把头文件引入
#include "sqlite3.h"
#include<stdio.h>
这样就可以使用sqlite3为我们提供的函数了。
打开
使用下列函数
sqlite3 *db; //创建一个数据库句柄变量
//这个句柄胡数据类型就是sqlite3类型胡
//相当于文件描述符,我们打开一个数据库并且打开数据库给到db
//接下来对db操作就是 对这个数据库文件操作
int ret=sqlite3_open("cmc.db",&db);
//将cmc.db放入了对象db当中
if(ret!=SQLITE_OK){
//失败
printf("打开失败!!\n");
}else{
printf("打开成功!!\n");
}
关闭
int ret=sqlite3_close(db);
if(ret!=SQLITE_OK){
//失败
printf("关闭失败!!\n");
}else{
printf("关闭成功!!\n");
}
更改系列sql语句
char table_name[20]="";
printf("请输入你要创建的表名称:\n");
scanf("%s",&table_name);
char sql[100]="";
sprintf(sql,"create table %s( id integer, name test, username test)",table_name);
char *error_msg="";
sqlite3_exec(db,sql,NULL,NULL,&error_msg);
if(error_msg!=NULL){
printf("表创建错误%s\n",error_msg);
}
查询系列sql语句
SQLITE_API int sqlite3_get_table(
sqlite3 *db, / 你要给哪个数据库发送,一个打开了的db/
const char *zSql, / 你要发什么用于读操作的sql语句字符串/
char ***pazResult, /存储 查询得到的结果集合表指针 的地址/
int* pnRow, / 存储 查询得到的结果集表的有效数据行数 的地址/
int* pnColumn, / 存储 查询得到的结果集表的有效数据列数 的地址/
char ** pzErrmsg / 存储 错误信息字符串指针 的地址/
);
char table_name[20]="";
char sql[100]="";
sprintf(sql,"select * from user");
char *error_msg="";
int r=0,c=0;
char **table=NULL;
sqlite3_get_table(db,sql,&table,&r,&c,&error_msg);
for(int i=0;i<r;i++){
for(int j=0;j<c;j++){
printf("%s\t",table[(i)*c+j]);
}
printf("\n");
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)