qt tableview 数据库中添加数据
时间: 2023-11-28 20:05:48 浏览: 95
你可以使用 Qt 的 QSqlTableModel 类来在 TableView 中显示数据库中的数据,并且可以通过该类来添加、删除和修改数据库中的数据。下面是一个简单的示例代码,该代码演示了如何在 TableView 中添加一条新的数据到数据库中。
```cpp
#include <QtWidgets>
#include <QtSql>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 连接到数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("test.db");
if (!db.open()) {
QMessageBox::critical(nullptr, QObject::tr("无法打开数据库"),
QObject::tr("无法连接到数据库,请检查数据库配置。"),
QMessageBox::Cancel);
return -1;
}
// 创建数据模型
QSqlTableModel model(nullptr, db);
model.setTable("person");
model.select();
// 创建 TableView
QTableView tableView;
tableView.setModel(&model);
// 添加新数据
QSqlRecord record = model.record();
record.setValue("name", "John");
record.setValue("age", 30);
model.insertRecord(-1, record);
model.submitAll(); // 将数据写入数据库
// 显示 TableView
tableView.show();
return app.exec();
}
```
在这个示例代码中,我们首先连接到一个 SQLite 数据库,然后创建了一个 `QSqlTableModel` 对象,并将其与 `person` 表关联起来。接下来,我们创建了一个 `QTableView` 对象,并将其设置为该数据模型的视图。然后,我们创建一个新的 `QSqlRecord` 对象,并使用它来设置新的数据。最后,我们将该记录插入到模型中,并提交所有更改以将其写入数据库。最终,我们显示了 TableView。
需要注意的是,如果你要在 TableView 中进行添加、删除和修改操作,你需要调用 `model.submitAll()` 方法将更改写回到数据库中。
阅读全文