Qt中SQL语句update同时更新多字段及设置字段值为空的方法

Qt中往往需要对数据库进行操作,常出现根据某变量更改相关字段的内容。一般地,可以采用名称绑定和位置绑定两种方法。

Qt与MySQL连接方法:https://blog.csdn.net/ckzhb/article/details/79630035

本文以update举例,其他insert等语句操作类似。

方法一:名称绑定

已知:定义Qstring类型变量a b c d e f g h。
QSqlQuery query5;
query5.prepare(QString("UPDATE rfid_match SET CKH=:ckh,WLMS=:wlms,CCLX=:cclx,CW=:cw,PC=:pc,GC=:gc,JLDW=:jldw WHERE WZSFM='%1'").arg(a));
query5.bindValue(":ckh",b);
query5.bindValue(":wlms",c);
query5.bindValue(":cclx",d);
query5.bindValue(":cw",e);
query5.bindValue(":pc",f);
query5.bindValue(":gc",g);
query5.bindValue(":jldw",h);
query5.exec();

注意:第三行中的WHERE='%1'中不要忘记%1两边的单引号,因为表中字段类型是varchar型。

方法二:位置绑定

已知:定义Qstring类型变量a b c d e f g h。
QSqlQuery query5;
query5.prepare(QString("update rfid_match set CKH=?,WLMS=?,"
               "CCLX=?,CW=?,PC=?,GC=?,JLDW=? WHERE WZSFM='%1'").arg(a));
query5.addBindValue(b);
query5.addBindValue(c);
query5.addBindValue(d);
query5.addBindValue(e);
query5.addBindValue(f);
query5.addBindValue(g);
query5.addBindValue(h);
query5.exec();	

提示:

将数据库中某字段值设置为空用null,如下所示

query.exec(QString("update rfid_match set RFID2=null where WZSFM='%1'").arg(model->item(modelReIndex,4)->text()));











  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值