我使用java和jdbc驱动程序(java.sql),并获得了以下代码:
String clinetIP = "220.181.108.89"; String sql = "SELECT * FROM `as` WHERE `as`.ip_range LIKE '%?%'"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1, clinetIP);
我得到:
java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
在执行statement.setString(1,clinetIP)时。
这是为什么?statement.setxxx是否在语句字符串中查找问号?我在声明中使用了一个问号,但它似乎被忽略了!
试试这个
String sql = "SELECT * FROM `as` WHERE `as`.ip_range LIKE ?"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1, "%" + clientIP + "%");