以下是sql语句

QString  myQuery = "UPDATE myTable SET myAttr = :myAttr WHERE ID = 1";

//m_query is a QSqlQuery object pointer
m_query->prepare(myQuery);
QString value = "some value";
m_query->bindValue(":myAttr", QVariant(value)) ;
m_query->exec();

But when I print the executedQuery, it shows the value for **myAttr = ?**

执行不会引起任何关于bindValue()的抱怨。
有人知道这里发生了什么吗?我正在使用QT5.2.1 MinGW_32bits
提前致谢。

最佳答案

我已使用以下方法解决了该问题:

change the  :myAttr to :MYATTR

绑定(bind)值时,请遵循相同的格式。
m_query->bindValue(":MYATTR", QVariant(value)) **strong text**

我认为这是较新版本的QTCreator的问题。

关于c++ - qt bindvalue()无法动态绑定(bind)值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24563602/

10-09 06:24