QT查询Mysql多行数据
时间: 2024-09-09 17:12:26 浏览: 68
QT(QTableView等组件)配合MySQL数据库查询多行数据通常需要通过Qt的QSqlDatabase模块连接数据库,并使用QSqlQuery来执行SQL查询获取数据。以下是一个简单的步骤说明:
1. 首先,你需要在Qt项目中设置数据库连接,包括主机名、用户名、密码和数据库名称。这可以使用QSqlDatabase::addDatabase()函数:
```cpp
QSqlDatabase db;
db.setHostName("localhost");
db.setDatabaseName("your_database_name");
db.setUserName("your_username");
db.setPassword("your_password");
if (!db.open()) {
qDebug() << "Failed to connect to database.";
}
```
2. 然后创建一个QSqlQuery对象并设置SQL查询语句,如获取表中的所有数据:
```cpp
QSqlQuery query("SELECT * FROM your_table;");
```
3. 执行查询并处理结果。你可以使用query.exec()来执行查询,然后使用QSqlQueryModel绑定查询结果到QTableView:
```cpp
QSqlTableModel model(&db);
model.setQuery(query, tablename);
view.setModel(&model); // view是你已创建的QTableView实例
```
4. 接着,设置QTableView的显示模式,如自适应大小(`setHorizontalHeaderLabels`设置列标题,`verticalHeaderHidden()`隐藏垂直滚动条):
```cpp
view.resizeColumnsToContents();
view.horizontalHeader().setStretchLastSection(true);
view.setVerticalScrollMode(QAbstractItemView::Static);
```
5. 当数据更新时(比如用户修改了数据库),你可以使用model.submitAll()提交更改。
阅读全文