QT 连接数据库的 QSqlDatabase 类 QT 中的 QSqlDatabase 类是连接数据库的核心类,它提供了一个通过数据库连接访问数据库的接口。一个 QSqlDatabase 的实例代表了一个数据库连接,数据库连接通过数据库驱动提供对数据库的访问,数据库驱动继承自 QSqlDriver。 创建数据库连接 ---------------- 为了创建一个数据库连接,需要使用静态方法 addDatabase(),指定驱动或者驱动种类(也就是你要访问什么类型数据库)以及连接名称。一个连接通过它的连接名称识别,不是它连接的数据库名称。你可以有多个连接连到同一个数据库。 例如,下面的代码片段展示了如何创建并打开一个连到 MySQL 数据库的默认连接: ```c QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL"); db.setHostName("acidalia"); db.setDatabaseName("customdb"); db.setUserName("mojito"); db.setPassword("J0a1m8"); bool ok = db.open(); ``` 连接参数 ------------ 一旦创建 QSqlDatabase 对象,就可以通过 setDatabaseName(), setUserName(), setPassword(), setHostName(), setPort(), 还有 setConnectOptions() 来设置连接参数。然后调用 open() 方法打开数据库物理连接。在打开连接之前,连接不可用。 默认连接 ------------ 如果你没有传递连接名称参数给 addDatabase(),那么这个连接将成为默认连接。以后,你可以不用提供连接名称参数直接调用 database() 方法来获得这个默认连接。 例如: ```c QSqlDatabase db = QSqlDatabase::database(); ``` 值类 -------- QSqlDatabase 是一个值类,通过一个 QSqlDatabase 实例对数据库连接做的所有修改会影响到其他 QSqlDatabase 实例中的相同连接。用 cloneDatabase() 可以创建一个与现有连接参数相同但是独立的数据库连接。 多重数据库连接 ----------------- 如果创建多重数据库连接,调用 addDatabase() 时,要为每个连接指定独一无二的名字。调用 database() 方法并传递连接名称来获取该连接。通过调用带有连接名称参数的 removeDatabase() 方法来移除一个连接。 数据表和字段信息 ------------------- 当一个连接被确定以后,你可以调用 tables() 方法来获取数据库的数据表列表,调用 primaryIndex() 方法来获取表的主索引,调用 record() 方法来获取某个表的字段的元信息(比如:字段名)。 事务 -------- 如果驱动支持事务,用 transaction() 开始一个事务,用 commit() 或 rollback() 完成这个事务。用 hasFeature() 询问驱动是否支持事务。注意:当使用事务时,必须在创建查询之前开始事务。 错误处理 ------------ 如果发生错误,lastError() 方法将返回关于该错误的信息。 可用驱动 ------------ 用 drivers() 获取可用的 SQL 驱动名字列表。用 isDriverAvailable() 来检查某个特定的驱动是否可用。如果你创建了自定义驱动,必须调用 registerSqlDriver() 注册它。 QSqlDatabase 类提供了一个灵活且强大的数据库连接接口,能够满足各种数据库应用的需求。
2026-01-16 18:48:40 25KB Access SQL
1
QT连接数据库,并将串口中的数据并存储到mysql数据库中在线显示
2022-07-07 18:14:35 72KB Qt mysql
1
Qt连接MySQL数据库,可测试是否连接,connectMySQL。
2021-12-23 22:14:25 4KB Qt连接数据库 连接MySQL
1
windows上编译成功后的文件,如果您需要,只需要拷贝文件到指定的\sqldrivers目录即可使用,另外,如果需要跨平台的朋友,我也有Linux上QT的数据库驱动.SO文件,可以留言索取,如有不懂可以给我留言
1
前提要有QMYSQL驱动,里面要改的部分都有标注,拿来就能用。腾讯云和本地实测可用
2021-06-02 09:06:11 6KB qtcreator qt mysql
1
一、运行库(SDK)说明: 1.本运行库(SDK)是基于Qt5.14.2(QT安装目录显示为5.14.2,但About QT Creator显示:Based on Qt 5.14.1)+Oracle11G32位OCI(选择32位是因为兼容64位——最初出发点;但大量测试和查询文档后表明,其QT链接Oracle混编生成QOCI时压根不支持64位混编)环境编译所得Release版本,理论支持Windows xp及以上产品。 2.本编译生产的脱平台SDK,支持生产环境无需再次安装Oracle客户端及一切产品——可通过配置本地化ini(db.ini)文件、或代码中实现目标数据库链路。 3.本运行库(SDK)内的文件除testOracle测试demo外,其他文件及文件夹无法再做精简、移动或更改(已经做到了最优)。 4.客户机运行时,无需安装ORACLE客户端,但需添加环境变量path。如将testOracle文件夹放在C盘根目录时,则需添加相应环境变量:;C:\testOracle\sqldrivers 5.已测试运行环境: win10 64位、win7(x64、x32) ———————————————— 详细讲解参考上一篇:https://blog.csdn.net/caoyin1234/article/details/114209992
2021-02-28 22:04:46 38.28MB qt5 oracle sdk 数据库
1
Qt连接数据库SQL Server 2008R2,用odbc的dns解析的方式连接,并查询了下数据库,非常适合初学Qt的朋友们,了解在Qt下如何访问数据库。另外如有不明白的可以加我QQ:823375784
2020-01-03 11:17:47 4KB Qt SQL Server 2008R2
1
这是我做的Qt日历,模仿365日历做的,里面用到了Qt网络编程,和连接数据库
2013-12-20 00:00:00 11.86MB Qt视图 Qt蒙板 Qt网络编程 Qt连接数据库
1