SQLite(sql)是一款开源轻量级的qt使用sqlite数據库库软件不需要server,可以集成在其他软件中非常适合嵌入式系统。
Qt5以上版本可以直接使用SQLite(Qt自带驱动)
检查连接、添加qt使用sqlite数据库库驱动、设置qt使用sqlite数据库库洺称、qt使用sqlite数据库库登录用户名、密码
(1)第一行中,建立了一个QSqlDatabase
对象后续的操作要使用这个对象。
(2)if
语句用来检查指定的连接(connection)是否存在这里指定的连接名称(connection
(3)如果这个连接不存在,则进入else
分支需要创建连接,并添加qt使用sqlite数据库库在else
分支第一行,addDatabase()
的参数QSQLITE
是SQLite對应的驱动名不能改。而且需要注意的是addDatabase()
的第二个参数被省略了,第二个参数的默认参数就是上面提到的Qt默认连接名称qt_sql_default_connection
如果需要使鼡自定义的连接名称(如果程序需要处理多个qt使用sqlite数据库库文件的话就会这样),则应该加入第二个参数例如
(4)else
分支第二行中,setDatabaseName()
的参數是qt使用sqlite数据库库文件名如果这个qt使用sqlite数据库库不存在,则会在后续操作时自动创建;如果已经存在则后续的操作会在已有的qt使用sqlite数據库库上进行。
(5)else
分支后面两行设置用户名和密码。用户名密码都可以随便取,也可以省略
使用open()
打开qt使用sqlite数据庫库,并判断是否成功注意,在第一步检查连接是否存在时如果连接存在,则在返回这个连接的时候会默认将qt使用sqlite数据库库打开。
洳果打开成功则进入else分支。对qt使用sqlite数据库库的操作都需要在else分支中进行
qt使用sqlite数据库库操作完成后,最好关闭
对qt使用sqlite数据库库进行操作需要用到QSqlQuery类,操作前必须定义一个对象下面举例说明操作方法。操作需要使用SQLite语句本文中的几個例子会使用几个常用的语句,关于SQLite语句的具体信息请参考SQLite相关资料
例1:创建表格 创建一个名为student的表格,表格包含三列第一列是id,第②列是名字第三列是年龄。
(1)第一行定义一个QSqlQuery
对象
(2)第二行是一个QString
,其中的内容是SQLite语句对qt使用sqlite数据库库的操作,都是用SQLite的语句唍成的把这些指令以QString类型,通过prepare
函数保存在QSqlQuery对象中。也可将指令以QString形式直接写在exec()
函数的参数中,例如:
TABLE;student是表格的名称可以任意取;括号中是表格的格式,上述指令表明表格中有三列,第一列的名称(表头)是id这一列储存的qt使用sqlite数据库类型是int,第二列名称是nameqt使用sqlite数据库类型是字符数组,最多有30个字符(和char(30)的区别在于varchar的实际长度是变化的,而char的长度始终是给定的值)第三列的名称是age,qt使用sqlite數据库类型是int
在刚才创建的表格中,插入一行qt使用sqlite数据库
例3:更新qt使用sqlite数据库(修改qt使用sqlite数据库)
这个就是在语句中用max
来获取最大值。
这里没有用where给出限制就会删除所有内容。