我使用下面的代码在while循环中执行一个存储过程,该循环有两个记录
conn = this.pool.getConnection();//backgroundtask.getDBConnection(this.config).getConnection();
conn.setAutoCommit(false);
TimezoneUsers = conn.prepareStatement(getUserTimeZone);
TimezoneRs = TimezoneUsers.executeQuery();
while (TimezoneRs.next()) {
int TimeZoneId = TimezoneRs.getInt("Id");
int CurrentHour = TimezoneRs.getInt("UserHour");
try (CallableStatement upperProc = conn.prepareCall("{call \"CreatePersonGameHistoryWithTimezone\"(?) }")) {
upperProc.setInt(1, TimeZoneId);
upperProc.executeQuery();
}
在while循环之后,我能够打印TimeZoneId 248和419 但只有第一次调用存储的stocedure成功执行,而419的调用不成功
注意:这是在多线程环境中调用的