Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Database/JDBC/SQL/JDO/Hibernate » Oracle  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 JDBC中,conn.commit()和stmt.execute("commit")有什么区别?
capa



发贴: 0
积分: 0
于 2004-03-01 21:27 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
我一直没有弄懂,在执行若干条DML语句之后,再执行下面两条语句后有什么区别,或还是它们的效果一样:
conn.commit();
stmt.execute("commit");
JDBC规范好像没提到这个事,假设在Oracle驱动程序下,它们是一样的吗?



作者 Re:JDBC中,conn.commit()和stmt.execute("commit")有什么区别? [Re:capa]
faint



发贴: 0
积分: 0
于 2004-03-02 11:29 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
在执行的效果中可能结果是一样的但是会引发一些问题。

在应用程序中如果通过commit()方法进行提交,会将JDBC中的一些标记置为正确的值,比如:在通过同一个数据库连接获取的ResultSet是否需要关闭(具体的请参看JDBC规范).如果你是通过直接发送commit命令到数据库会使有些设定不正确,在一定的条件下导致程序出问题。

不同的数据库的JDBC驱动实现方式也是不一样的,我见过有的commit方法就是执行一条commit,但是大多数的JDBC实现不是这样的




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923