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