1.也许是代码贴不完整,比如setAutoCommit只有一个,不妨检查一下你的代码结构是否符合 以下结构:
try{
...
flag = dbconn.getAutoCommit();
dbconn.setAutoCommit(false);
......
...... dbconn.commit();
dbconn.setAutoCommit(flag);
}catch(SQLException se){
try{
dbconn.rollback();
dbconn.setAutoCommit(flag);
}catch(SQLException sqlexception1){
se.printStackTrace();
}
}
finally{
try{
//close rs,statement,conn
.....
}catch(SQLException sqlexception1){
sqlexception1.printStackTrace();
}
}
2. 在循环里面最好使用preparedStatement,而不用statement
try{
...
flag = dbconn.getAutoCommit();
dbconn.setAutoCommit(false);
......
...... dbconn.commit();
dbconn.setAutoCommit(flag);
}catch(SQLException se){
try{
dbconn.rollback();
dbconn.setAutoCommit(flag);
}catch(SQLException sqlexception1){
se.printStackTrace();
}
}
finally{
try{
//close rs,statement,conn
.....
}catch(SQLException sqlexception1){
sqlexception1.printStackTrace();
}
}
2. 在循环里面最好使用preparedStatement,而不用statement
Statement stat = null ;
ResultSet rs = null ;
stat.stat =dbconn.createStatement();
try
{
stat.execute( DeleteSql ); //删除
rs = stat.executeQuery( SelectSql1 );
while( rs.next())
{
//检索数据
}
stat.execute( InsertSql[ii] );//插入
dbconn.commit() ;
dbconn.setAutoCommit( true ) ;
}
catch( SQLException ex)
{
dbconn.rollback() ;
dbconn.setAutoCommit( true ) ;
}
结构就是这样,而且编译也通过了,有执行结果
不过同样的代码会出现随机不同的结果,郁闷中~~~
就是电子报税啊,怎么,是不是在抢生意了啊~~~~~~
probably occurred due to an error in /ReportRecord/sb_Declare/msb_Declare_Tran.jsp line 42:
preparedStatement stat = null ;大小写的故障嘛,请哪位指点一下用法,代码示例~谢谢
各位有没有谁遇到过或则知道这种情况的
我使用的时sql server2000用jdbc数据引擎,用的weblogic7.0,jdk1.3用一个事务控制数据库操作及异常
事务开始首先将连接的自动提交取消,即设置setAutoCommit为false
1、首先执行删除语句,删除当月数据(该步检测过正确),使用Statement的execute方法
2、接着检索前面月份符合条件数据(检索的数据条数经调试,正确),使用ResultSet
3、再使用循环插入数据(循环次数经输出也和检索的结果一致并且正确)
最后才提交数据
在数据库操作的任何一步有异常则回滚我已确定过,删除是肯定成功了的,可是我本来检索的符合条件的记录有只有3条,可是有时会重复插入两次(6条记录,两两重复,或则4条5条记录,其中的一部分重复)有谁知道的,急着用的,又调试不过去,请各位高手帮帮忙~~
谢谢
数据库处理策略?可是用的sql server没有作什么特殊的设置的,理论上我还不知道为什么会出现这种情况,现在逻辑上是正确,可是实际数据库操作不对(数据库中有了多余数据)
请再帮忙看看~~
给点代码参考一下就是不太合理,相同的操作对相同的数据出现不同结果还合理啊~~PreparedStatement如何创建??
不过看资料好象支持update更新和select检索
好象没有delete和insert的说明,到底支持不?~~
请高手指点指点
如果支持给个小例子就好的
谢谢
我怎么执行删除和插入啊??