qt sqlite 参数化传参

Qt 操作sqlite时,参数化传参时遇到的一些问题。

第一种方式

下面写一个伪sql语句演示
select c1,c2,c3 from t1 where c5=@c5 and c6=@c6
然后传参时
query.addBindValue(c5);
query.addBindValue(c6);
使用这种方式传参c5和c6是按顺序传入的,如果顺序错了,那参数也就错了。

另一种方式

使用bindValue,下面示例伪代码。
select c1,c2,c3 from t1 where c5=:c5 and c6=:c6
query.bindValue(“:c6”,c6Value);
query.bindValue(“:c5”,c5Value);
此处我故意写反了他们的顺序,旨在说明顺序对这种传参方式是没有影响的,因为他们是按名字对应的,可是有一点让人困惑的,似乎这个名字必须是以 :+name的形式才能被识别,我尝试继续使用@+name是不生效的。

猜你喜欢

转载自blog.csdn.net/weixin_42485732/article/details/126318754
今日推荐