我在QT中使用SQLite3的bindValue时遇到问题。下面的语句不起作用。exec成功,但结果不正确。
query5.prepare("select DISTINCT :col_readback FROM Equipment");
query5.bindValue(":col_readback", "Category");
但是,如果我运行下面的语句,没有任何问题。query5.prepare("select DISTINCT Category FROM Equipment");
我试着改变bindValue的另一个名字,但它不工作。
2条答案
按热度按时间nkcskrwz1#
看起来bindValue在处理列字段时有一些问题。我使用arg代替,它可以工作query5.prepare(QString(“select DISTINCT %1 FROM Equipment”).arg(col_readback));
w8biq8rn2#
编辑了原始答案,所以第一个评论现在没有意义。
如果您试图替换列名和值,我建议您只需构建查询字符串,然后执行它,跳过准备。