1
我已经在我的Qt应用程序中使用下面的MySQL查询:QSlQuery失败的MySQL SELECT语句
query.prepare(QString("SELECT productName, value, COUNT(value), SUM(value)"
"FROM tblmystock"
"WHERE time>=\'%1\' AND time<=\'%2\'"
"GROUP BY productName, value").arg(startDateTime, endDateTime));
我收到以下错误:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near'>='2012-04-24 00:00:00' AND time<='2012-04-24 23:59:59:59' GROUP BY productName' at line 1 QMYSQL: Unable to execute query
即使当我尝试bindValues,它失败了同样的错误。
但是,当我执行上的MySQL提示相同的查询类似下面,它工作正常:
mysql> SELECT productName, value, COUNT(value), SUM(value) FROM tblmystock WHERE time>='2012-04-24 00:00:00' AND time<='2012-04-25 23:59:59' GROUP BY productName, value;
有谁知道这个解决方法?
感谢您的答复。我尝试了你的建议,但我得到了同样的错误。我甚至试图改变时间trxnTime,但没有改变! – manaila 2012-04-24 09:53:20
@ user1353283:尝试用'''替换转义的'\'':'...'%1'和...'之间的时间' – 2012-04-24 09:56:41
@jurgen d:仍然没有帮助。我注意到问题是我的QStrings startDateTime和endDateTime,因为当我用实际的日期时间替换它们时,它工作正常。这是它们的定义:void MyClass :: myFunc(QString&sDate,QString&eDate) { QString startDateTime = sDate +“00:00:00”; //一般报告开头 QString endDateTime = eDate +“23:59:59”; //总报告结束...} – manaila 2012-04-24 10:16:52