本文记录使用QSqlQuery实现增删改查的过程。
目录
通过dialog更新返回的数据,使用update语句进行更新
1. 构建表格数据

声明变量
QSqlQueryModel *qryModel;//数据查询模型
QItemSelectionModel *selModel;//选择模型
SQLiteHelper dbHelper;//自定义数据库帮助类
表格、数据模型、选择模型三板斧设置
qryModel = new QSqlQueryModel(this);
selModel = new QItemSelectionModel(qryModel,this);
ui->tableView->setModel(qryModel);
ui->tableView->setSelectionModel(selModel);
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
列表执行查询
qryModel->setQuery("SELECT empNo,Name,Gender,Birthday,Province, Department,"
" Salary FROM employee order by empNo");
if(qryModel->lastError().isValid())
{
QMessageBox::information(this,"错误","数据表查询失败:\n"+qryModel->lastError().text());
return;
}
列表的水平表头设置
//设置表头
QSqlRecord rec = qryModel->record();//获取空记录
qryModel->setHeaderData(rec.indexOf("empNo"),Qt::Horizontal,"工号");
qryModel->setHeaderData(rec.indexOf("Name"), Qt::Horizontal, "姓名");
qryModel->setHeaderData(rec.indexOf("Gender"), Qt::Horizontal, "性别");
qryModel->setHeaderData(rec.indexOf("Birthday"), Qt::Horizontal, "出生日期");
qryModel->setHeaderData(rec.indexOf("Province"), Qt::Horizontal, "省份");
qryModel->setHeaderData(rec.indexOf("Department"), Qt::Horizontal, "部门");
qryModel->setHeaderData(rec.indexOf("Salary"), Qt::Horizontal, "工资");
2. 新增一行
构建一个空行
QSqlQuery query;
q

最低0.47元/天 解锁文章
3126

被折叠的 条评论
为什么被折叠?



