对于 JDBC 预准备语句,在 SQL 语句中提供实际值时如何确定变量的位置
For JDBC prepared statements, how are the position of variables determined when an actual value is supplied in the SQL statement
如果我有以下代码,在 SQL 语句中提供一个值,那么 GROUP 的位置值是多少?是2还是3?换句话说,确定位置时是否计算提供的值?
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);
传递给 setXYZ
方法的索引是指占位符的数量 - 1 是第一个占位符,2 是第二个,依此类推,无论它们在语句中的确切位置以及其他什么从句恰好有的文字部分。
如果我有以下代码,在 SQL 语句中提供一个值,那么 GROUP 的位置值是多少?是2还是3?换句话说,确定位置时是否计算提供的值?
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);
传递给 setXYZ
方法的索引是指占位符的数量 - 1 是第一个占位符,2 是第二个,依此类推,无论它们在语句中的确切位置以及其他什么从句恰好有的文字部分。