博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言使用SQLite3数据库
阅读量:5172 次
发布时间:2019-06-13

本文共 1696 字,大约阅读时间需要 5 分钟。

SQLite是一个著名的免费数据库(不管是商用还是私人使用都免费),已经向众多公司如Adobe, Airbus, Apple, google, GE, Microsoft等提供了支持。

SQLite不像其它多数的SQL数据库,它没有一个独立的服务进程,它是独立的、无进程的数据库(用起来它也像一个语言库),它对数据的读写操作是直达磁盘的。

下面我们使用C语言来试用一个SQLite

1 先到http://www.sqlite.org/download.html下载你的操作系统所对应的文件

对方C语言的操作来说,只需要源码就可以了:

Source Code

(1.91 MiB)

一般而言我们也需要使用命令行对数据库中的数据进行增删改查操作,所以也下载下面的这两个文件:

Precompiled Binaries for Windows

(303.20 KiB)

(335.37 KiB)

 

2 在QT Creator中新建一个纯C工程(我这里名字叫做sqlite3_test),然后修改main.c为下面这样样子

#include 
#include
static int callback(void *NotUsed, int argc, char **argv, char **azColName){ int i; for(i=0; i

 

3

将sqlite-autoconf-3080701.tar.gz解压出来,把其中的sqlite3.h拷贝出来放到Qt工程根目录下。

将sqlite-dll-win32-x86-3080701.zip解压出来,把其中的sqlite3.dll拷贝到Qt工程目录下。

将sqlite-shell-win32-x86-3080701.zip解压出来,把其中的sqlite3.ext拷贝到C:\Windows\System32下面,这样在CMD命令行窗口下就可以直接运行sqlite3了(shell)。

打开一个CMD窗口,然后到达你的工程根目录下面,然后运行sqlite3打开SQLite Shell,按下面的操作新建一个数据库并插入数据,以便于C语言去读取操作:

sqlite> .tablessqlite> .open test.dbsqlite> .tablessqlite> create table tbl1(one varchar(10), two smallint);sqlite> insert into tbl1 values('hello!', 10);sqlite> insert into tbl1 values('goodbye', 20);sqlite> select *from tbl1;hello!|10goodbye|20

 

 

4 设置QT工程的编译选项

第3步把该要的文件都拷贝到对应的目录了,然后现在编译还没有办法通过,需要一些设置。

修改sqlite3_test.pro文件(红色为新增的)

TEMPLATE = appCONFIG += consoleCONFIG -= app_bundleCONFIG -= qtSOURCES += main.cLIBS += sqlite3.dllinclude(deployment.pri)qtcAddDeployment()

给应用程序添加运行参数,即从命令行运行的话需要执行sqlite3_test test.db "select * from tbl1"

test.db "select * from tbl1"

 

5 编译运行

 

参考:

Command Line Shell For SQLite

C-language interface to SQLite

SQL As Understood By SQLite

SQLite3 C语言API入门

SQLite3 API编程手册

转载于:https://www.cnblogs.com/tfanalysis/p/4073756.html

你可能感兴趣的文章
深度学习之前馈神经网络(前向传播和误差反向传播)
查看>>
IEnumerable<T>和IQueryable<T>区别
查看>>
(转)MFC界面风格
查看>>
Centos7 tmux1.6 安装
查看>>
二叉树(三)
查看>>
linux加密文件系统 fsck 无法修复一例
查看>>
【linux配置】VMware安装Redhat6.5
查看>>
AI自主决策——有限状态机
查看>>
《http权威指南》阅读笔记(二)
查看>>
软件工程
查看>>
http协议
查看>>
js替换问题replace和replaceAll
查看>>
c++11 : range-based for loop
查看>>
中国农历2013,2014 (zz.IS2120@BG57IV3)
查看>>
用virtualenv建立独立虚拟环境 批量导入模块信息
查看>>
Sublime Text3 插件:convertToUTF8
查看>>
BZOJ4060 : [Cerc2012]Word equations
查看>>
hdu2089不要62(数位dp)
查看>>
JAVA输出最大值和最小值
查看>>
64位weblogic11g安装
查看>>