数据库的基本内容前面都已经说得差不多了,接下看看怎样在c语言中使用sqlite。 一 接口 sqlite3_open(const char *filename, sqlite3 **ppDb) 打开数据库,如果数据库不存在则新建一个数据库,并打开 sqlite3_close(sqlite3*) 关闭数据库,如果关闭之前还存
数据库的基本内容前面都已经说得差不多了,接下看看怎样在c语言中使用sqlite。
一 接口
打开数据库,如果数据库不存在则新建一个数据库,并打开
关闭数据库,如果关闭之前还存在没有执行完的语句,将会返回SQLITE_BUSY
二 实例
1 目录结构
Projects{
立即学习
“
C++免费学习笔记(深入)
”;
main.c// 代码所在文件
sqlite{// 官网下载下来的sqlite压缩包解压之后的文件目录
shell.c// 本文件在项目中实际上是用不上的,这个文件是用来生成sqlite命令工具的,具体可以参考:sqlite学习笔记1
sqlite3.c
sqlite3.h
C知道
CSDN推出的一款AI技术问答工具
下载
sqlite3ext.h
}
}
2 源代码
3 编译运行
运行有两种方式,基于前面的笔记,我们并没有配置sqlite的环境,仅仅是下载解压得到列一个文件夹sqlite,因此,需要用如下命令:
如果下载配置安装了sqlite,则需要将上面的头文件包含改为:
然后执行命令:
命令执行完成之后会生成一个叫main的可执行文件,输入:
既可以看到结果。
#在编译时使用g++会报错: error: invalid conversion from ‘const void*’ to ‘const char*’
g++貌似对类型转换要求更为严格,不支持这样的转换。
路过的大侠,知道怎样用g++编译的,请指教......
sqlite3_open(const char *filename, sqlite3 **ppDb)
sqlite3_close(sqlite3*)
// main.c
#include
#include
#include "sqlite/sqlite3.h"
#define DB_NAME "hanfeng.db"
int main()
{
sqlite3* db = NULL ;
char* msg = NULL ;
int ret = 0 ;
ret = sqlite3_open(DB_NAME, &db);
if (ret){
fprintf(stderr, "error open datebase:%s\n.", DB_NAME) ;
exit(0) ;
}
else{
fprintf(stderr, "successfully open datebase.\n") ;
}
sqlite3_close(db) ;
return 0;
}
gcc -o main main.c ./sqlite/sqlite3.c -lpthread -ldl
#include
gcc -o main main.c -lsqlite3
./main