IT评测·应用市场-qidao123.com

标题: 数据库编程——sqlite3 [打印本页]

作者: 南七星之家    时间: 2024-11-3 03:54
标题: 数据库编程——sqlite3
目次
一、启动与退出
二、数据库创建与维护
三、尺度 SQL 语句
创建表:
删除表:
向表中增长数据:
查询表中的数据:
修改表中数据:
删除表中数据:
四、补充内容
数据库编程 
一、sqlite3_open
二、sqlite3_exec
三、sqlite3_close
代码示例 


一、启动与退出

二、数据库创建与维护

               这里的 > :表示输出重定向   < :表示输入重定向。
三、尺度 SQL 语句

四、补充内容

数据库编程 

一、sqlite3_open

  1. int sqlite3_open(const char *filename, sqlite3 **ppDb);
复制代码
二、sqlite3_exec

  1. int sqlite3_exec(sqlite3*, const char *sql, int (*callback)(void*,int,char**,char**), void *, char **errmsg );
复制代码
三、sqlite3_close

  1. int sqlite3_close(sqlite3*);
复制代码
代码示例 

  1. #include <stdio.h>
  2. #include <sqlite3.h>
  3. // 定义回调函数 show,用于处理查询结果
  4. int show(void* arg, int col, char** result, char** title)
  5. {
  6.     // static 变量 flag,用于标记是否是第一次调用该函数
  7.     static int flag = 0;
  8.     int i;
  9.     // 如果是第一次调用
  10.     if (flag == 0)
  11.     {
  12.         // 遍历列数
  13.         for (i = 0; i < col; i++)
  14.         {
  15.             // 打印列名
  16.             printf("%s\t", title[i]);
  17.         }
  18.         // 换行
  19.         printf("\n");
  20.         // 将 flag 置为 1,表示不是第一次调用了
  21.         flag = 1;
  22.     }
  23.     // 遍历列数
  24.     for (i = 0; i < col; i++)
  25.     {
  26.         // 打印查询结果中的每一项
  27.         printf("%s\t", result[i]);
  28.     }
  29.     // 换行
  30.     printf("\n");
  31.     // 返回 0,表示继续处理下一行结果(如果有)
  32.     return 0;
  33. }
  34. int main()
  35. {
  36.     sqlite3* db;
  37.     // 尝试打开数据库文件 /home/linux/Desktop/0904/aaa.db,并将数据库连接指针存储在 db 中
  38.     int ret = sqlite3_open("/home/linux/Desktop/0904/aaa.db", &db);
  39.     if (ret!= SQLITE_OK)
  40.     {
  41.         // 如果打开失败,打印错误信息
  42.         fprintf(stderr, "sqlite3_open error,%s\n", sqlite3_errstr(ret));
  43.         // 关闭数据库连接
  44.         sqlite3_close(db);
  45.         return 1;
  46.     }
  47.     char *errmsg;
  48.     // 定义 SQL 查询语句,这里是查询表 user 中的所有数据
  49.     char sqlite3_cmd[] = "select * from user;";
  50.     // 执行 SQL 查询语句,将查询结果通过回调函数 show 进行处理,参数 NULL 表示没有额外的用户数据传递给回调函数,errmsg 用于存储错误信息
  51.     ret = sqlite3_exec(db, sqlite3_cmd, show, NULL, &errmsg);
  52.     if (ret!= SQLITE_OK)
  53.     {
  54.         // 如果执行查询失败,打印错误信息
  55.         fprintf(stderr, "exec error,%s\n", errmsg);
  56.         // 释放错误信息占用的内存
  57.         sqlite3_free(errmsg);
  58.         // 关闭数据库连接
  59.         sqlite3_close(db);
  60.         return 1;
  61.     }
  62.     // 关闭数据库连接
  63.     sqlite3_close(db);
  64.     // 打印 "Hello World!"
  65.     printf("Hello World!\n");
  66.     return 0;
  67. }
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4