C++ QT Mysql 查询表中 某一字段 大于10 小于20 的数据
时间: 2023-12-03 18:44:02 浏览: 155
QT C++ 读写mySQL数据库 图片 例子 QT-MySQL-vchar-int-picture-demo.zip
可以使用以下代码实现:
```c++
#include <QtSql>
#include <QDebug>
int main() {
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("root");
db.setPassword("password");
if (!db.open()) {
qDebug() << "Database open error:" << db.lastError().text();
return -1;
}
QSqlQuery query;
QString sql = "SELECT * FROM table_name WHERE field_name > :min AND field_name < :max";
query.prepare(sql);
query.bindValue(":min", 10);
query.bindValue(":max", 20);
if (!query.exec()) {
qDebug() << "Query error:" << query.lastError().text();
return -1;
}
while (query.next()) {
QString field1 = query.value(0).toString();
QString field2 = query.value(1).toString();
// ...
}
db.close();
return 0;
}
```
其中,`table_name` 是要查询的表名,`field_name` 是要查询的字段名,`:min` 和 `:max` 是占位符,用于绑定查询条件。在 `query.prepare()` 中,我们将 SQL 语句和占位符绑定起来,然后使用 `query.bindValue()` 将具体的查询条件绑定到占位符上。最后,使用 `query.exec()` 执行查询语句,使用 `query.next()` 逐行读取查询结果,并使用 `query.value()` 获取每一列的值。
阅读全文