Java 对于JDBC准备的语句,当SQL语句中提供实际值时,如何确定变量的位置
如果我有以下代码,SQL语句中提供了一个值,那么组的位置值是多少?是2点还是3点?换言之,在确定位置时是否计算提供的值Java 对于JDBC准备的语句,当SQL语句中提供实际值时,如何确定变量的位置,java,sql,jdbc,prepared-statement,Java,Sql,Jdbc,Prepared Statement,如果我有以下代码,SQL语句中提供了一个值,那么组的位置值是多少?是2点还是3点?换言之,在确定位置时是否计算提供的值 PreparedStatement st = null; Connection conn = DBConnection.getConnection(); String userId = "myuser"; String group = "mygroups"; String sql = "Insert into MY_TABLE (USE
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是第二个占位符,等等,而不管它们在语句中的确切位置以及该子句碰巧有哪些其他文字部分。如果它不是?
则它不是参数,所以它不是一个,而是2
。索引从1
开始,而不是0
(这是最容易混淆的部分)。然后每个占位符都有自己的索引。