Qt如何查询表中的数据呢?
首先我们需要连接数据库,连接完了,我们进行操作数据库。
连接数据库的代码:
bool MainWindow::connectToDatabase(QSqlDatabase &db, const QString &host, const QString &dbName, const QString &user, const QString &password)
{
db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName(host);
db.setDatabaseName(dbName);
db.setUserName(user);
db.setPassword(password);
if (!db.open()) {
qDebug() << "数据库连接失败:" << db.lastError().text();
return false;
} else {
qDebug() << "数据库连接成功!";
return true;
}
}
连接完后,就是数据库的操作:我们定义一个查询函数:
QSqlQuery MainWindow::queryDatabase(QSqlDatabase &db, const QString &query)
{
QSqlQuery sqlQuery;
sqlQuery = QSqlQuery(db);
if (!sqlQuery.exec(query)) {
qDebug() << "查询失败:" << sqlQuery.lastError().text();
}
return sqlQuery;
}
查询语句得到后就要输出数据:
QSqlQuery query=this->queryDatabase(db,"select * from user");
while (query.next()) {
QString result = query.value(0).toString();
QString result1 = query.value(1).toString();
qDebug() << result<<" "<<result1;
}
我们按列输出数据库表中的数据。
这样就可以实现数据库的查询操作。