我想INSERT
使用几行PreparedStatement
:
ps = con.prepareStatement(query,PreparedStatement.RETURN_GENERATED_KEYS);
for(Element e:listOfElements){
ps.setString(1,this.col_val_1);
ps.setString(2,this.col_val_2);
ps.setInt(3,this.col_val_3);
ps.addBatch();
}
ps.executeBatch();
ResultSet rs = ps.getGeneratedKeys();
在这一点上,我了when期望获得PK的每一个产生INSERT
,我得到这个SQLServerException
:
com.microsoft.sqlserver.jdbc.SQLServerException: The statement must be executed before any results can be obtained.
我希望得到一个结果有一行执行的每个插入,这样我就可以得到每个PK产生。
我希望我错了吗? 难道我做错了什么? 它可以使用批处理执行不同的方式来完成?