Qt开发:QSqlDatabase的常见用法

一、概述

QSqlDatabase 是 Qt 中用于管理和访问数据库连接的类。它提供了一种统一的方式来连接不同的数据库引擎,执行 SQL 查询和操作数据库。它支持多种数据库管理系统(如 SQLite、MySQL、PostgreSQL 等),并提供了统一的 API 来进行数据库操作。
特点:

  • 支持连接多种数据库引擎,通过相应的驱动程序进行连接。
  • 提供了对数据库连接的管理和控制,包括连接建立、断开、事务控制等功能。
  • 可以执行 SQL 查询、事务操作、元数据查询等数据库操作。

二、使用流程

1.初始化数据库驱动
在使用 QSqlDatabase 之前,需要初始化并加载要使用的数据库驱动。常见的数据库驱动包括 QSQLITE、QMYSQL、QPSQL 等。

#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>

int main(int argc, char *argv[]) 
{
    
   	QCoreApplication a(argc, argv);
   
   	// 初始化数据库驱动
   	QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
   	// 如果是 MySQL 或 PostgreSQL 等,可以将 "QSQLITE" 替换成对应的驱动名称
   	// QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
   	// QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL"); 
   
   	return a.exec();
}

2.连接数据库
使用 setHostName()、setDatabaseName()、setUserName()、setPassword() 等方法设置数据库连接的参数,然后调用 open() 方法打开数据库连接。

#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>

int main(int argc, char *argv[]) 
{
    
   	QCoreApplication a(argc, argv);
   
   	// 设置数据库连接参数
  	db.setHostName("localhost");
  	db.setDatabaseName("mydatabase");
  	db.setUserName("username");
  	db.setPassword("password");

  	// 打开数据库连接
  	if (db.open()) {
   
     	qDebug() << "Database connected!";
  	} else {
   
     	qDebug() << "Error opening database:" << db.lastError().text();
  	}
   
   	return a.exec();
}

3.执行 SQL 查询
一旦数据库连接成功,可以通过 QSqlQuery 对象执行 SQL 查询和操作。

#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>

int main(int argc, char *argv[]) 
{
    
   	QCoreApplication a(argc, argv);
   
   	// 创建 QSqlQuery 对象,并执行 SQL 查询
	QSqlQuery query;
	if (query.exec("SELECT * FROM mytable")) {
   
    	while (query.next()) {
   
        	QString name = query.value(0).toString();
        	int age = query.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值