VB中使用ado的connection来 update 修改一oracle表的记录操作可运行,但在oracle中看不到任何更改?

zgxly2002 2003-08-25 11:38:53
VB中使用ado的connection来 update 修改一oracle表的记录操作可运行,但在oracle中看不到任何更改?
...全文
104 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiezhi 2003-08-25
  • 打赏
  • 举报
回复
運行了,但沒有成功。
說明代碼有問題。
yeahnope 2003-08-25
  • 打赏
  • 举报
回复
没错。应该是你的程序问题,
enhydraboy 2003-08-25
  • 打赏
  • 举报
回复
如果使用cn.execute的话,就直接提交到数据库。
Dim cn As New adodb.Connection
cn.Open "Provider=MSDAORA.1;Password=tiger;User ID=scott;Data Source=orcl;Persist Security Info=True"

cn.Execute "insert into test values('www','wwww',300)"
cn.Close
enhydraboy 2003-08-25
  • 打赏
  • 举报
回复
vb中,如果是通过记录集更新数据库的话,在没有写rs.update前。是不会提交到数据库的。

Dim cn As New adodb.Connection
Dim rs As New adodb.Recordset

cn.Open "Provider=MSDAORA.1;Password=tiger;User ID=scott;Data Source=orcl;Persist Security Info=True"
rs.CursorLocation = adUseClient
rs.Open "select * from test", cn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs.Fields(0).Value = "zz"
rs.Fields(1).Value = "zz"
rs.Fields(2).Value = 300
rs.Update ==>只有执行了,才会提交到数据库
cn.Close
那么,如果没有写rs.update,就直接关闭连接呢。
...
rs.Fields(0).Value = "zz"
rs.Fields(1).Value = "zz"
rs.Fields(2).Value = 300
cn.Close
此时,就看oracle的设置了,当session关闭时,是缺省提交事务还是回滚。oracle的缺省设置是rollback。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧