[英]mysql between and used via JDBC preparedstatement - getting Parameter index out of range exception
From the select query parameterized the value (date value with BETWEEN , AND) 从选择查询中参数化该值(日期值为BETWEEN,AND)
my query 我的查询
SELECT COUNT(*) AS assignedtotalcount FROM ticket, ticket_data
WHERE ticket.`ticket_id` = ticket_data.`ticket_id`
AND ticket.`created` BETWEEN '?' AND '?'
from the above query parameterized the values in BETWEEN , AND 从上述查询中参数化了BETWEEN和中的值
Java code Java代码
static String dateFrom = "2018-01-01";
static String dateTo = "2018-01-31";
String query = reportQuery.toString();
statement = connection.createStatement();
preparedStatement = connection.prepareStatement(query);
preparedStatement.setString(1, dateFrom);
preparedStatement.setString(2, dateTo);
resultSet = preparedStatement.executeQuery(query);
while execute i am getting the below exception 执行时,我得到以下异常
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
please help me to resolved 请帮我解决
Do not quote the placeholders. 不要引用占位符。 You need to change the '?'
您需要更改'?'
to ?
到?
. 。
So the query become like this 所以查询变成这样
SELECT COUNT(*) AS assignedtotalcount FROM ticket, ticket_data
WHERE ticket.`ticket_id` = ticket_data.`ticket_id`
AND ticket.`created` BETWEEN ? AND ?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.