c++ - qt bindvalue() 无法动态绑定(bind)值

标签 c++ sql database qt

下面是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/

相关文章:

c++ - 段错误,当使用 cmake 编译时没有 cout

database - 在 Grails 中映射遗留数据库表时,如何映射两个表而不进行任何更改?

sql - MySQL:数据透视+计数

mysql:每天获取过去 365 天的所有数据计数

ALL 的 SQL 参数

database - 存储电话号码国家代码

c++ - 这是什么类型的行为?

c++ - 自调用递归 lambda 的 std::bad_function_call 但没有提示

c++ - 引用成员的初始化需要一个临时变量

sql - 如何一次性从 PostgreSQL 表中删除所有 NOT NULL 约束