QSqlQuery增删改查

本文记录使用QSqlQuery实现增删改查的过程。

目录

1. 构建表格数据

声明变量

 表格、数据模型、选择模型三板斧设置

列表执行查询

列表的水平表头设置

2. 新增一行

构建一个空行

通过dialog返回的修改行数据,update更新

3. 更新一行

获取到需要更新的行

 通过dialog更新返回的数据,使用update语句进行更新

4.删除一行

获取该行,及主键

以主键为参数,删除行

5. 批量更改

更新操作受影响行数

总结



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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

castlooo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值