Qt使用QSqlTableModel界面显示用法(四、修改功能)

修改功能我用的方法也很简单,双击要修改的单元格,就可以弹出一个窗口,用于重新编辑。

要想使用tableview的双击功能,在ui界面上对tablevoew右击“转到槽”,选择doubleClicked(const QModelIndex &index)函数

在新建的函数体下写相应代码:

    QSqlTableModel * model = new QSqlTableModel(this,db);//新建model
    model->setTable("EXAMPLE");//设置表
    bool isOK;//定义bool类型
    QString text = QInputDialog::getText(this,"Update","修改当前内容",QLineEdit::Normal,index.data().toString(),&isOK);//弹出修改框,默认显示当前内容,修改后点击按钮,是则isOK为true,否则isOK为false
    if(!isOK)//判断isOKbool类型
        return ;
    if(model->select())//判断是否空表
        model->setData(model->index(index.row(),index.column()),text);//重新设置当前单元格内容
    model->submitAll();//提交修改
    ui->tableView->setModel(model);
    model->select();//显示修改后的数据

这里有一点要说的是输入框我们用的是

#include "qinputdialog.h"

头文件里自带的单行输入框,它会显示一个弹窗,将输入的文本传给自定义的text变量

为了编辑方便,我们选择默认显示要修改的数据,如图

这里的修改语句相当于数据库语句

update from EXAMPLE set city='北京' where city='上海'

~~~
继续下一节:查询功能

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值