当前位置: 技术问答>java相关
sql语句在jdbc中的问题?
来源: 互联网 发布时间:2015-04-28
本文导语: 1.当我connect.setAutoCommit(false)后,调用connect.commit()和在sql语句中调用commit有什么不同? 2.如果我想通过jdbc执行以下事务该如何写jdbc: begin transaction insert .......... values....... insert .......... values ....... if @@error=0 ...
1.当我connect.setAutoCommit(false)后,调用connect.commit()和在sql语句中调用commit有什么不同?
2.如果我想通过jdbc执行以下事务该如何写jdbc:
begin transaction
insert .......... values.......
insert .......... values .......
if @@error=0
commit transaction
else
rollback transaction
2.如果我想通过jdbc执行以下事务该如何写jdbc:
begin transaction
insert .......... values.......
insert .......... values .......
if @@error=0
commit transaction
else
rollback transaction
|
sql1="insert ...............values..............";
sql2="insert ...............values..............";
Conneciton con=null;
Statement stmt=null;
try{
con=getConnection();
con.setAutoCommit(false);
stmt=con.createStatement();
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
con.commit()
}catch(SQLException e){
try{
con.rollback();
}catch(SQLException ex){}
}finally{
try{
stmt.colse();
con.close();
}catch(SQLException e){}
}
sql2="insert ...............values..............";
Conneciton con=null;
Statement stmt=null;
try{
con=getConnection();
con.setAutoCommit(false);
stmt=con.createStatement();
stmt.executeUpdate(sql1);
stmt.executeUpdate(sql2);
con.commit()
}catch(SQLException e){
try{
con.rollback();
}catch(SQLException ex){}
}finally{
try{
stmt.colse();
con.close();
}catch(SQLException e){}
}