【QT开发】数据库连接管理QSqlDatabase类详解及实战应用
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>
// 创建并配置数据库连接
QSqlDatabase createConnection() {
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); // 使用MySQL数据库
db.setHostName("localhost"); // 数据库服务器地址
db.setDatabaseName("mydb"); // 数据库名称
db.setUserName("user"); // 数据库用户名
db.setPassword("password"); // 数据库密码
bool ok = db.open(); // 尝试连接数据库
if (!ok) {
qDebug() << "数据库连接失败:" << db.lastError().text();
}
return db;
}
// 使用数据库连接执行查询
void executeQuery(QSqlDatabase& db) {
QSqlQuery query;
bool success = query.exec("SELECT * FROM mytable"); // 执行查询
if (!success) {
qDebug() << "查询失败:" << query.lastError().text();
} else {
while (query.next()) {
QString field1 = query.value(0).toString();
// ... 处理查询结果
}
}
}
// 主函数
int main() {
QSqlDatabase db = createConnection();
if (db.isValid()) {
executeQuery(db);
// ... 其他数据库操作
db = QSqlDatabase(); // 清空数据库连接
}
return 0;
}
这段代码展示了如何在Qt中创建和管理数据库连接,并执行一个简单的查询。首先,我们创建了一个数据库连接并尝试打开它。如果连接失败,我们会记录错误信息。然后,我们使用这个数据库连接执行一个SQL查询,并处理查询结果。最后,我们清空数据库连接以释放资源。这是一个简单的实用例子,展示了如何在Qt中使用QSqlDatabase
和QSqlQuery
类进行数据库操作。
评论已关闭