sqlite QT SQL bindValue问题

euoag5mw  于 2023-04-06  发布在  SQLite
关注(0)|答案(2)|浏览(162)

我在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的另一个名字,但它不工作。

nkcskrwz

nkcskrwz1#

看起来bindValue在处理列字段时有一些问题。我使用arg代替,它可以工作query5.prepare(QString(“select DISTINCT %1 FROM Equipment”).arg(col_readback));

w8biq8rn

w8biq8rn2#

编辑了原始答案,所以第一个评论现在没有意义。
如果您试图替换列名和值,我建议您只需构建查询字符串,然后执行它,跳过准备。

const QString col = myValFromProgram; // a QString
query5.exec("select DISTINCT " + col + " FROM Equipment");

相关问题