Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL select语句的QSlQuery失败_Mysql_Qt - Fatal编程技术网

MySQL select语句的QSlQuery失败

MySQL select语句的QSlQuery失败,mysql,qt,Mysql,Qt,我的Qt应用程序中使用了以下MySQL查询: query.prepare(QString("SELECT productName, value, COUNT(value), SUM(value)" "FROM tblmystock" "WHERE time>=\'%1\' AND time<=\'%2\'" "GROUP BY productName, value").arg(

我的Qt应用程序中使用了以下MySQL查询:

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));
query.prepare(QString(“选择产品名称、值、计数(值)、总和(值)”
“来自tblmystock”

其中时间>=\'%1\'和时间
time
是一个保留关键字。请使用反勾号将其转义。
您也可以在
之间使用
,而不是
=


time
是一个保留关键字。请使用反勾号将其转义。
您也可以在
之间使用
,而不是
=


谢谢你的回复。我尝试了你的建议,但我得到了相同的错误。我甚至尝试将时间更改为trxnTime,但没有更改!@user1353283:尝试将转义的
\'
替换为
'
…其中时间介于“%1”和…
@jurgen d:仍然没有帮助。我注意到问题在于我的QStrings startDateTime和endDateTime,因为当我用实际日期时间替换它们时,它工作得很好。这是它们的定义:void MyClass::myFunc(QString&sDate,QString&eDate){QString startDateTime=sDate+“00:00:00”;//常规报告的开始QString endDateTime=eDate+“23:59:59”“;//常规报告的结尾…}时间列的数据库定义是什么?我刚刚计算出问题出在哪里;我必须在where子句之前加一个空格“”,这样它就可以作为"WHERE time>=\'%1\'和time谢谢你的回复。我尝试了你的建议,但我得到了相同的错误。我甚至尝试将时间更改为trxnTime,但没有更改!@user1353283:尝试将转义的
\'
替换为
'
…在“%1”和…
@jurgen d之间的时间。仍然没有帮助。我注意到问题出在我的Q上字符串startDateTime和endDateTime,因为当我用实际的datetime替换它们时,它可以正常工作。这是它们的定义:void MyClass::myFunc(QString&sDate,QString&eDate){QString startDateTime=sDate+“00:00:00”;//常规报告的开始QString endDateTime=eDate+“23:59:59”;//常规报告的结尾…}
time
列的数据库定义是什么?我刚刚计算出问题出在哪里;我必须在where子句之前加一个空格“”,这样它就可以作为其中时间>=\'%1\'和时间
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;
WHERE `time` between '2012-04-24 00:00:00' AND '2012-04-25 23:59:59'