[英]NullPointerException and Parameter index out of range exception using MySQL & PreparedStatement
[英]mysql between and used via JDBC preparedstatement - getting Parameter index out of range exception
从选择查询中参数化该值(日期值为BETWEEN,AND)
我的查询
SELECT COUNT(*) AS assignedtotalcount FROM ticket, ticket_data
WHERE ticket.`ticket_id` = ticket_data.`ticket_id`
AND ticket.`created` BETWEEN '?' AND '?'
从上述查询中参数化了BETWEEN和中的值
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);
执行时,我得到以下异常
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
请帮我解决
不要引用占位符。 您需要更改'?'
到?
。
所以查询变成这样
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.