If I have the following code, with one value supplied in the SQL statement, what would be the value of the position for GROUP? Is it 2 or 3? In other words, is the supplied value counted when determining the positions?
x
PreparedStatement st = null;
Connection conn = DBConnection.getConnection();
String userId = "myuser";
String group = "mygroups";
String sql = "Insert into MY_TABLE (USER_ID, LOGIN_DATE, GROUP) values (?,SYSDATE,?)";
st = conn.prepareStatement(sql);
st.setString(1, userId);
st.setString(2, group);
Advertisement
Answer
The indexes passed to the setXYZ
methods refer to the number of placeholders – 1 is the first placeholder, 2 is the second, etc., regardless of where exactly they are used in the statement and what other literal parts that clause happens to have.