一 问题解决
二 错误提示
//下面两句错误提示:原因是GreenLightCurve = '%2'后面少写逗号
// SQL exec error : "UPDATE TestingCurve SET RedLightCurve = '30000.00', GreenLightCurve = '31000.00' YellowLightCurve = '32000.00', BlueLightCurve = '33000.00' WHERE HoleID = 2"
// SQL error : "No query"
三 正确写法
//正确写法
strSql = QObject::tr("UPDATE TestingCurve SET RedLightCurve = '%1', GreenLightCurve = '%2', "
"YellowLightCurve = '%3', BlueLightCurve = '%4' "
"WHERE HoleID = %5")
.arg(strRedLightCurve)
.arg(strGreenLightCurve)
.arg(strYellowLightCurve)
.arg(strBlueLightCurve)
.arg(i);
四 更多参考
QT数据库开发Unable to fetch row错误和No query错误
有一次出事是因为单引号多了一个,在SQL语句里字符数值要用单引号包含,如果多了个单引号,数据库解析语句就会失败,就不会执行查询,返回行集。
另外一次报错,看着SQL语句一点儿问题都没有啊,放客户端里执行也没报错,当时就几乎放弃了,后来查了查字段名,发现设计的字段名里有空格,代码里的SQL语句没空格,把表设计里的字段名里多余空格去掉,问题解决。