前段时间将在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> 就可以了!