QT 向MYSQL执行SQL命令,处理返回结果
时间: 2023-07-18 17:49:19 浏览: 169
要在QT中向MYSQL执行SQL命令并处理返回结果,需要使用MYSQL驱动程序和QT的SQL模块。下面是一个简单的示例代码,可以执行SQL命令并将结果存储在QT的数据模型中:
```cpp
#include <QCoreApplication>
#include <QtSql>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
//连接MYSQL数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("root");
db.setPassword("password");
if (!db.open()) {
qDebug() << "Failed to connect to database.";
return -1;
}
//执行SQL命令并处理返回结果
QSqlQuery query;
query.exec("SELECT * FROM test_table");
QSqlTableModel model;
model.setTable("test_table");
model.setEditStrategy(QSqlTableModel::OnManualSubmit);
model.select();
//将结果存储在QT的数据模型中
model.setQuery(query);
//输出结果
for (int i = 0; i < model.rowCount(); i++) {
qDebug() << model.record(i).value("id").toInt() << model.record(i).value("name").toString();
}
db.close();
return a.exec();
}
```
在上述示例中,我们首先使用`QSqlDatabase`类连接到MYSQL数据库。然后,我们使用`QSqlQuery`类执行SQL命令,并将结果存储在`QSqlTableModel`类的对象中。最后,我们遍历数据模型中的结果并将其输出到控制台上。
阅读全文