This error usually comes when we try to insert data in a query where there is no index defined for it.
String strQuery=“select * from location where city_id=? ”;
The question mark will be the the first index if we want to insert data so if we call a function like-
oPreparedStatement = oConnection.prepareStatement(strQuery);
here we are sending 235 as a first parameter so it will work fine but as soon as we write something after it like
then it will throw “The index 2 is out of range” since there is no place to send this value in a query hence it will throw the same error. Here index defines the parameter for which there is no place in the query.
To rectify this we need to write query like-
String strQuery=“select * from location where city_id=? And city_name=? ”;
then it will work fine.
The cases in which these errors can occur is-
1)Query is coming out as null.
2)No of parameters are more than the parameters present in the query.
3)The index for which we are trying to send parameter is not present in the query.
4)There is not any ways applied in a query to receive parameters( absence of ?).