Qt SQLite数据库操作
发布时间:2020-12-12 19:32:58 所属栏目:百科 来源:网络整理
导读:Qt提供了平台以及数据库种类无关的访问数据库接口,支持 QMYSQL,QODBC ,QPSQL和QSQLITE. 由于Qt对不同平台和数据库都使用同一个接口,本文选择了对嵌入式领域常用的SQLite数据库进行操作。 ----------------- SQLite 数据库 ----------------- SQLite,是一
Qt提供了平台以及数据库种类无关的访问数据库接口,支持 QMYSQL,QODBC ,QPSQL和QSQLITE. 由于Qt对不同平台和数据库都使用同一个接口,本文选择了对嵌入式领域常用的SQLite数据库进行操作。 ----------------- SQLite 数据库 ----------------- SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至今已经有13个年头,SQLite也迎来了一个版本 SQLite 3已经发布。 不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中(eg. test.db)。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。 ---------------- SQLite 数据库移植 ----------------- 1.下载并解压数据库 从sqlite 官网下载最新的源码包 http://www.sqlite.org/download.html 现在最新版本为3080100版本 下载完成后解压: tar -zxvf sqlite-autoconf-3080100.tar.gz 2.交叉编译 a.解压完成之后,进入解压后的目录: cd sqlite-autoconf-3080100 b.在这个目录之中新建一个文件夹,用于放置最后交叉编译生成的程序包: mkdir build c.文件夹中运行 sqlite-autoconf-3080100中的configure脚本生成Makefile文件: ./configure --prefix=/文件夹的绝对路径/ssqlite-autoconf-3080100/build --Prefix:可以指定编译之后目标存放的路径,可自行设定 还可以通过 --host=arm-linux 指定使用 arm交叉编译器进行交叉编译 以供嵌入式系统使用 d.然后运行指令: make make install 3.编译和安装完成之后,在我们指定的路径/文件夹的绝对路径/ssqlite-autoconf-3080100/build 下会生成四个文件夹: bin、lib、include、share,将bin中的文件拷贝至开发板的/usr/bin中,将lib文件夹中的所有内容拷贝至项目lib文件夹中 4.测试数据库 先将/usr/bin/sqlite3的权限修改一下: chmod 755 sqlite3 然后在开发板的终端中输入指令: sqlite3 test.db 执行的结果为: SQLite version 3.8.1 2013-10-17 12:57:35 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> 此时表明Sqlite3已经移植成功 ---------------------------- Qt 操作SQlite数据库 ---------------------------- 1.创建测试数据库 create table qttest([id] integer PRIMARY KEY autoincrement,[userName] varchar(32),[userPwd] varchar(32)); 添加测试数据记录 insert into qttest(id,userName,userPwd) values(NULL,"apple","123456"); insert into qttest(id,"orange","123456"); 2.创建qt项目,将 test.db 放在qt的项目文件夹,并在qt工程文件(xxx.pro)里 添加: QT += sql 3. qt操作数据库代码: |
相关内容
- Oracle - 数据库的实例、表空间、用户、表之间关系
- PostgreSQL错误:由于与恢复冲突,取消语句
- swift – UICollectionview scrollToItemAtIndexPath,在动画
- Swift基础之对话框UIAlertController
- 我的cocos2d-x-3.2集成云风pbc lua binding方法
- 深入入门正则表达式(java) - 匹配原理 - 2 - 回溯
- 【Cocos2d-x】图片描边的一种比较好的shader实现方法
- xml零配置之AbstractAnnotationConfigDispatcherServletIni
- 为PostgreSQL讨说法丨为什么说Uber不应该切换成MySQL?
- 为什么这个正则表达式不会拒绝尾部斜杠(使用负向前瞻)?