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<<" "<
- }
我们按列输出数据库表中的数据。
这样就可以实现数据库的查询操作。