从列表中插入行到QSqlTableModel中,可以按照以下步骤进行操作:
QSqlTableModel *model = new QSqlTableModel(parent);
model->setTable("table_name");
model->setEditStrategy(QSqlTableModel::OnManualSubmit); // 设置编辑策略
model->select(); // 查询数据库表数据
QList<QVariant> rowData;
rowData << value1 << value2 << value3; // 将要插入的数据按顺序添加到列表中
int row = model->rowCount(); // 获取当前行数
model->insertRow(row); // 在最后一行插入新行
int columnCount = model->columnCount(); // 获取列数
for (int column = 0; column < columnCount; ++column) {
QModelIndex index = model->index(row, column); // 获取指定行列的索引
model->setData(index, rowData[column]); // 设置数据
}
model->submitAll();
完整的示例代码如下:
QSqlTableModel *model = new QSqlTableModel(parent);
model->setTable("table_name");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->select();
QList<QVariant> rowData;
rowData << value1 << value2 << value3;
int row = model->rowCount();
model->insertRow(row);
int columnCount = model->columnCount();
for (int column = 0; column < columnCount; ++column) {
QModelIndex index = model->index(row, column);
model->setData(index, rowData[column]);
}
model->submitAll();
QSqlTableModel是Qt提供的一个用于操作数据库表的模型类,它可以方便地进行数据的增删改查操作。在上述示例中,我们通过insertRow()方法插入一行数据,并使用setData()方法设置每列的数据。最后,通过submitAll()方法将更改提交到数据库。
推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云数据库MariaDB,这些产品提供了可靠的云端数据库服务,适用于各种规模的应用场景。您可以通过以下链接了解更多信息:
领取专属 10元无门槛券
手把手带您无忧上云