QSqlTableModel使用
时间: 2023-12-30 17:53:01 浏览: 184
QSqlTableModel是一个用于访问数据库表中数据的Qt数据模型。它可以与SQL数据库表交互,让我们可以对表进行增、删、改、查等操作。
以下是一个简单的使用QSqlTableModel的例子:
```cpp
#include <QtSql>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// 创建一个QSqlDatabase对象
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
// 打开数据库
if (!db.open()) {
qDebug() << "Failed to open database!";
return 1;
}
// 创建一个QSqlTableModel对象
QSqlTableModel model;
model.setTable("students"); // 设置表名
model.setEditStrategy(QSqlTableModel::OnManualSubmit); // 设置提交策略
// 选择需要显示的列
model.select();
model.setHeaderData(0, Qt::Horizontal, tr("ID"));
model.setHeaderData(1, Qt::Horizontal, tr("Name"));
model.setHeaderData(2, Qt::Horizontal, tr("Age"));
// 创建一个QTableView对象,并将QSqlTableModel作为其数据源
QTableView *view = new QTableView;
view->setModel(&model);
view->show();
return a.exec();
}
```
在这个例子中,我们使用了QSqlTableModel来访问数据库中的"students"表,并在QTableView中显示了该表的内容。通过设置setTable()方法,我们指定了表名,设置setEditStrategy()方法来指定提交策略,使用select()方法选择需要显示的列,并使用setHeaderData()方法设置列标题。最后,我们创建了一个QTableView对象,并将QSqlTableModel作为其数据源。
阅读全文