C语言操作SQLite
1 下载源代码
采用C语言操作SQLite数据库时需要引入sqlite3库,我们可以在官网下载源代码后编译。
2 C代码-不用回调函数执行SQL语句
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>int main(void){sqlite3 *db; //数据库sqlite3_open("test.db", &db); //打开数据库char **pazResult, *pzErrmsg;int pnRow, pnColumn;if (sqlite3_get_table(db, "select * from test;", &pazResult, &pnRow, &pnColumn, &pzErrmsg) != 0){printf(stderr, "error: %s\n", pzErrmsg);sqlite3_free(pzErrmsg);}else{int i;for (i=0; i<pnRow * pnColumn; i += pnColumn){printf("%s\t%s\n", pazResult[i], pazResult[i+1]);}}sqlite3_close(db); //关闭数据库return EXIT_SUCCESS;
}
3 C代码-使用回调函数执行SQL语句
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>//每找到一条记录自动执行一次回调函数
int callback(void *para, int f_num, char **f_value, char **f_name){int i;for (i=0; i<f_num; ++i){printf("%s\t", f_value[i]);}return 0;
}int main(void){sqlite3 *db; //数据库sqlite3_open("test.db", &db); //打开数据库char *error;sqlite3_exec(db, "select * from test", callback, NULL, &error);sqlite3_close(db); //关闭数据库return EXIT_SUCCESS;
}
4 C代码-创建表
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>int main(int argc, char *argv[]){sqlite3 *db; //数据库char *errormsg;char **result;int row, column;int ret;ret = sqlite3_open("NBA.db", &db); //打开数据库if (ret != SQLITE_OK){printf("open failed!\n");return -1;}ret = sqlite3_exec(db, "CREATE TABLE Lakers(Name TEXT NOT NULL UNIQUE, \Height REAL NOT NULL, PointsPerGames REAL NOT NULL);",\NULL, NULL, &errormsg);if (ret != SQLITE_OK){printf("%s\n", errormsg);sqlite3_free(errormsg);}ret = sqlite3_exec(db, "INSERT INTO Lakers (Name, Height, PointsPerGames)\VALUES('James', 2.03, 27.8);", NULL, NULL, &errormsg);if (ret != SQLITE_OK){printf("%s\n", errormsg);sqlite3_free(errormsg);}ret = sqlite3_get_table(db, "SELECT * FROM Lakers;", &result, &row, &column, &errormsg); if (ret != SQLITE_OK){printf("%s\n", errormsg);sqlite3_free(errormsg);}else{printf("row:%d, column:%d", row, column);int i = 0;for (i=0; i<(row+1)*column; i++){printf("%s ", result[i]);if ((i+1)%column == 0)printf("\n");}}sqlite3_close(db); //关闭数据库return 0;
}
5 编译
gcc filename.c -o filename -lsqlite3
C语言操作SQLite相关推荐
- Linux C语言操作SQLite数据库
1. SQLite数据库特点 (1)SQLite数据库是开源的嵌入式数据库,无需独立的数据库引擎,直接嵌入到应用程序进程中,因此,通过API,应用程序可以直接操作它. (2)事务的处理是原子的,一致的 ...
- go sqlite mysql_Go实战--go语言操作sqlite数据库(The way to go)
生命不止,继续 go go go !!! 继续与大家分享,go语言的实战,今天介绍的是如何操作sqlite数据库. 何为sqlite3? SQLite is a self-contained, hig ...
- C语言操作SQLite数据库
SQLite头文件和源文件下载地址http://www.sqlite.org/download.html 以下是示例代码 #include <stdio.h> #include " ...
- Android学习笔记---Android利用Sqlite,并且用sql语言操作SQLite数据库
6.对数据库进行操作: 一下是对数据库的操作代码,包括添加,删除,更新,查询,和分页,统计 ---------------------------------------------------- ...
- PC软件开发技术之三:C#操作SQLite数据库
我们在开发应用是经常会需要用到一些数据的存储,存储的方式有多种,使用数据库是一种比较受大家欢迎的方式.但是对于一些小型的应用,如一些移动APP,通常的数据库过于庞大,而轻便的SQLite则能解决这一问 ...
- C#操作SQLite数据库
我们在开发应用是经常会需要用到一些数据的存储,存储的方式有多种,使用数据库是一种比较受大家欢迎的方式.但是对于一些小型的应用,如一些移动APP,通常的数据库过于庞大,而轻便的SQLite则能解决这一问 ...
- php高性能sqllite,简洁的PHP操作SQLite类
原标题:简洁的PHP操作SQLite类 如果有文章推荐,或者你们要看什么的技术文章,请在留言处留言,感谢支持 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式 ...
- C++操作SQLite简明教程
这篇文章主要介绍了C++操作SQLite简明教程,包含创建表.插入数据.查询数据等常用操作,需要的朋友可以参考下 SQLite是一款轻型的本地文件数据库,是遵守ACID的关联式数据库管理系统.它的设计 ...
- QT操作sqlite概念
SQLite数据库 '增.删.改.查' 1. 数据库简介 数据库指的是以一定方式存储在一起,能为多个用户共享,具有尽可能小的冗余度的特点,是与应用程序彼此独立的数据集合. // 一定方式:可以理解 ...
最新文章
- C++开源跨平台类库集
- Pyserial 实现串口 base on python3
- (转载)Nutch2 WebPage 字段解释
- 使用Notepad++工具查看文件的十六进制
- 【Jmeter】参数Parameters和Body Data
- 导出oracle sequences,CSS_oracle导出序列方法分析,方法一:SELECT ' CREATE SEQUEN - phpStudy...
- 两个或者多个图片上下之间有空隙
- string 转化 xml,并找到指定节点及节点值
- 国外html游戏发展历史,17个国外游戏行业的网页设计欣赏
- vivo9.0以上系统如何无需Root激活XPOSED框架的流程
- Cisco防火墙基础介绍及配置
- 微信支付开发(1)--普通商户申请、账户验证、签约、公众号授权流程详解
- java设计模式之单例模式详解
- Linux for嵌套if的格式,Shell篇(2)-条件语句if及循环语句 for , while , unti
- textarea字数实时统计方案
- 左手鼠标指针——Windows11Aeroleft
- python 入门篇 之 正则表达式re.findall的使用
- golang中椭圆曲线密码
- 注册Netgear DDNS账号的操作
- 刘道成 mysql 课件_燕十八公益讲堂mysql.ppt
热门文章
- new与malloc比较与底层实现
- 【知识积累】腾讯云CentOS 7服务器安装蚂蚁笔记Leanote
- arm64汇编sp fp寄存器叶子函数非叶子函数的栈平衡
- 打开邮箱发现很久以前面试的公司竟然给我再次发面试邀请
- 转载 web缓存技术
- 手工计算机视频教程,diy手工制作_DIY视频教程大全
- CentOS7下安装 OTRS 工单管理系统
- github 如何下载仓库 repositories 里的部分文件?
- grep 跨行搜索(匹配)
- php前端工程师岗位职责,【前端软件工程师工作内容|工作职责|前端软件工程师做什么】-看准网...