QT中QSqlTableModel中的select函数具体用法,给出示例
时间: 2024-04-15 19:28:14 浏览: 145
`QSqlTableModel`是QT提供的一个用于显示数据库表格数据的模型类,它继承自`QAbstractTableModel`。`QSqlTableModel`中的`select()`函数用于从数据库中选择(查询)数据并将结果集加载到模型中。具体的用法示例如下:
```cpp
#include <QSqlDatabase>
#include <QSqlTableModel>
#include <QTableView>
// 创建数据库连接
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("your_database_name");
db.setUserName("your_username");
db.setPassword("your_password");
if (!db.open()) {
qDebug() << "Failed to connect to database";
return;
}
// 创建模型并设置数据库表名
QSqlTableModel model;
model.setTable("your_table_name");
// 选择(查询)数据并加载到模型中
if (model.select()) {
// 创建视图,并将模型设置给视图
QTableView tableView;
tableView.setModel(&model);
tableView.show();
} else {
qDebug() << "Failed to select data from database";
}
```
在上述示例中,我们首先创建了一个`QSqlDatabase`对象来建立与数据库的连接。然后,创建了一个`QSqlTableModel`对象,并通过`setTable()`函数设置数据库表名。接下来,调用`select()`函数来选择(查询)数据并将结果集加载到模型中。最后,我们创建了一个`QTableView`视图,并将模型设置给视图,然后显示视图。
请确保根据你的实际情况修改代码中的数据库连接参数、表名和视图的显示方式等。
阅读全文