设为首页
收藏本站
开启辅助访问
切换到窄版
登录
立即注册
中问网首页
我的收藏
站长博客
搜索
搜索
本版
帖子
用户
第一问答网
»
论坛
›
中问网
›
问答
›
JAVA JDBC事务提交的疑问。
返回列表
发新帖
JAVA JDBC事务提交的疑问。
[复制链接]
11
|
1
|
2010-3-22 11:36:28
|
显示全部楼层
|
阅读模式
>>启动事务 conn.setAutoCommit();这个不是启动事务,而是设置事务是否自动提交,默认是自动提交,如果要手动控的话,写成conn.setAutoCommit(false);if(rs.next){
>>>...执行更新
conn.commit(); }这个也不对,RS不可能执更新操作。只能是查询。如果你进行了锁表操作,那么如果没有commit()或rollbak()方法,是不会进行解锁操作的。下面给你些代码段以做参考。public class SQLCondition{ public ResultSet execuQuery(Connection conn) throws SQLException{检索操作.......} public int execuUpdate(Connection conn) throws SQLException{更新操作.......}}public class DBAccess(){public void execute(){
SQLCondition condition = .....;
Connection conn = .....;
try{
conn.setAutoCommit(false); //设成非自动提交
condition.execuQuery(conn);
condition.execuUpdate(conn); //如果操作成功会走到这一步,进行提交,可以解锁
conn.commit();
}catch(SQLException){ //出现任何的SQL异常都可以捕捉到,进行事务回滚,也可以解锁。
conn.rollbak();
}}}>>自动默认是回滚事务? 默认的话,是执行一条就进行提交,如果错了会回滚。
回复
使用道具
举报
千问
|
2010-3-22 11:36:28
|
显示全部楼层
请准确清晰并详细描述你的问题,因为引起该问题的原因比较多?
回复
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
千问
主题
0
回帖
4882万
积分
论坛元老
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
论坛元老, 积分 48824836, 距离下一级还需 -38824837 积分
积分
48824836
加好友
发消息
回复楼主
返回列表
问答
热门排行