当前位置: 首页 > news >正文

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的第四个参数,参数二为数据的列数,参数三为每列的所有值,参数四为每列的标题。

http://www.lryc.cn/news/317558.html

相关文章:

  • Gitea相关漏洞
  • 基于深度学习的图像去雨去雾
  • 使用JS的for循环实现九九乘法表
  • Leetcode 70 爬楼梯
  • 基于SpringBoot+MYSQL+Vue的校园管理系统
  • Oracle P6 负浮时和必须完成日期
  • 【C++】STL--String
  • 深入理解与使用go之中间件--实现
  • 移动端研发技术的进化历程
  • ChromeDriver 122 版本为例 国内下载地址及安装教程
  • 【数据结构】双向链表及LRU缓存的实现
  • 2、计划任务不显示UI的问题
  • 学C还是学C++?
  • Springboot参数分组校验
  • 无缝集成 MongoDB Relational Migrator,Tapdata 提供关系型到 MongoDB 实时迁移优化方案
  • 【C++】每日一题 146 LRU缓存
  • CentOS搭建NAS服务器并使用
  • 爬虫入门到精通_框架篇16(Scrapy框架基本使用)_名人名言的抓取
  • mac inter 芯片遇到程序无法打开(无法验证开发者)
  • 科技成果鉴定测试如何进行?第三方检测机构进行鉴定测试的好处
  • 八、词嵌入语言模型(Word Embedding)
  • 重学SpringBoot3-WebMvcConfigurer接口
  • 《深入理解springCloud与微服务》笔记
  • Vivado原语模板
  • 【linux本地安装tinycudann包教程】
  • 使用Nginx进行负载均衡
  • 什么护眼台灯效果好?热门护眼台灯全方位测评推荐
  • 云上三问,迈向智能时代的关键
  • 【网络安全】手机不幸被远程监控,该如何破解,如何预防?
  • 每日OJ题_哈希表④_力扣219. 存在重复元素 II