视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
sqlite学习笔记7:C/C++中使用sqlite之打开数据库
2020-11-09 14:57:39 责编:小采
文档


数据库的基本内容前面都已经说得差不多了,接下看看怎样在C语言中使用sqlite。 一 接口 sqlite3_open(const char *filename, sqlite3 **ppDb) 打开数据库,如果数据库不存在则新建一个数据库,并打开 sqlite3_close(sqlite3*) 关闭数据库,如果关闭之前还存

数据库的基本内容前面都已经说得差不多了,接下看看怎样在C语言中使用sqlite。

一 接口

sqlite3_open(const char *filename, sqlite3 **ppDb)
打开数据库,如果数据库不存在则新建一个数据库,并打开
sqlite3_close(sqlite3*)
关闭数据库,如果关闭之前还存在没有执行完的语句,将会返回SQLITE_BUSY

二 实例

1 目录结构

Projects{

main.c// 代码所在文件

sqlite{// 官网下载下来的sqlite压缩包解压之后的文件目录

shell.c// 本文件在项目中实际上是用不上的,这个文件是用来生成sqlite命令工具的,具体可以参考:sqlite学习笔记1

sqlite3.c

sqlite3.h

sqlite3ext.h

}

}

2 源代码

// 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;
}
3 编译运行

运行有两种方式,基于前面的笔记,我们并没有配置sqlite的环境,仅仅是下载解压得到列一个文件夹sqlite,因此,需要用如下命令:

gcc -o main main.c ./sqlite/sqlite3.c -lpthread -ldl
如果下载配置安装了sqlite,则需要将上面的头文件包含改为:
#include 
然后执行命令:
gcc -o main main.c -lsqlite3
命令执行完成之后会生成一个叫main的可执行文件,输入:
./main
既可以看到结果。

#在编译时使用g++会报错: error: invalid conversion from ‘const void*’ to ‘const char*’

g++貌似对类型转换要求更为严格,不支持这样的转换。

路过的大侠,知道怎样用g++编译的,请指教......

下载本文
显示全文
专题