sqlite3数据库封装 - 动态链接库

举报
看,未来 发表于 2020/12/30 01:35:31 2020/12/30
【摘要】 东西在这儿 提取码:y2rz 操作说明: 安装 这里给两种方法。 不弄动态加载库。 ①同项目工程文件夹形式 将资源文件放在当前项目工程文件下,编译指令:g++ *.cpp -o name -L./ -lmydb //名字自己起 ②第三方库形式 这里不建议放在系统库底下,也不建议将头文件放在系统头文件目录下,系统有给我们提供第三方文件夹。 将.so文件放到 /u...

东西在这儿
提取码:y2rz

操作说明:

安装

这里给两种方法。
不弄动态加载库。
①同项目工程文件夹形式

将资源文件放在当前项目工程文件下,编译指令:g++ *.cpp -o name -L./ -lmydb //名字自己起
②第三方库形式

这里不建议放在系统库底下,也不建议将头文件放在系统头文件目录下,系统有给我们提供第三方文件夹。
将.so文件放到 /usr/local/lib下,将.h文件放到/usr/local/include,不然肯定会找不到头文件。
然后运行指令 ldconfig,刷新系统对第三方库的纪录,不然可能会找不到库。
然后,就可以向使用系统库一样使用这个第三方库。g++ *.cpp -o name -lmydb

库接口

这个库虽然文件少,但是接口比之前的线程池要多。

在test.cpp文件(测试文件)中有完整的使用示例了。但是我还是要哔哔两句。

初始化单例对象

由于数据库使用的是单例类模式,所以初始化数据库对象只能使用static DB* instance(“数据库名”)函数。
这里建议:建库建表工作独立出来,不然会直接报库/表已存在的错而直接退出
改是可以改的,但是性价比不高,我就不改了,反正代码都给你了。

调用数据库

//总调度语句
void execute(char* order);//需要整条语句传入

  
 
  • 1
  • 2
int return_serch_num(char *sql);//返回查询结果数

  
 
  • 1
int ireturn_serch(char *sql,int n);//获取查询结果(一行中某个数据)

  
 
  • 1
char* creturn_serch(char *sql,int n);//获取查询结果(一行中某个数据)

  
 
  • 1
int ireturn_multi_serch(char *sql,int r,int c); //获取查询结果(二维表中某个数据)
//r是Row,列;n是Colmn,行

  
 
  • 1
  • 2
  char* creturn_multi_serch(char *sql,int r,int c); //获取查询结果(二维表中某个数据)

  
 
  • 1

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/106232671

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。