前段时间将在linux下用Qt creator 5写的代码拿到windows xp上运行,出现了不少的问题。下面讲下折腾了我一下午的错误QMYSQL3: Unable to bind value。
我是在xp上用的vs2010,Qt creator 5.2。以前在linux上运行的qeury.bindValue()在上面运行报错"QMYSQL3: Unable to bind value"。在网上找了好久,基本是说驱动有问题。试了很多种方法,都没解决问题。最后终于找到了一种替代的方法。代码如下:
QString insertSql = "insert into user(username,password,vmcfgname)" "values ( \"%1\", \"%2\", \"%3\")";
QString sql = insertSql.arg("dsf").arg("sdf").arg("sdf");
bool b=query.exec(sql); 上述代码可以正常运行通过,使用时可将arg中的参数改成变量。
出现这个问题的原因是你没有添加QVariant Library,而query.bindValue(":id", 5);中的5是变量,需要添加QVariant Library这个库来指明。
加上#include <QVariant> 就可以了!
本文介绍了在Windows XP上使用VS2010和Qtcreator5.2遇到的QMYSQL3:Unabletobindvalue错误,并提供了一个有效的解决方案。通过使用字符串拼接代替bindValue方法,避免了因缺少QVariant Library导致的问题。
1321

被折叠的 条评论
为什么被折叠?



