vb.net oracle 数据查询不一致问题

lsyer 2008-06-26 12:05:16
一个师弟遇到个问题是这样的:
VB.net代码连接oracle数据库操作一个表中的记录
1。若vb程序中插入删除后在oracle控制台中select看到结果一致;
2。若在vb程序先查询后,在oracle控制台插入删除后再在vb程序中查询则结果不一致,看不到已经被删除或添加的记录;
3。重启系统后,再查询,结果一致,除此之外关闭程序等都不行;
4。若查询一次后,重新dim一个新的不同的数据集变量,则又可以查询正确一次。
部分代码如下:

QueryData = New OracleDataAdapter(Query_Command, oraConn) '"select * from test1", oraConn)

Dim data As DataSet '查询数据存储中介
data = New DataSet
QueryData.Fill(data)
DataGrid1.DataSource = data
...全文
129 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsyer 2008-06-27
  • 打赏
  • 举报
回复
又想了想还是不对,我的问题是在数据库控制台上修改后,在客户端查询时(不是修改,只查询)看不到变化,只有第一次行,只有这是怎么何事呀?
lsyer 2008-06-26
  • 打赏
  • 举报
回复
多谢2楼,刚刚看到,应该是你所说的问题。
ejoe313 2008-06-26
  • 打赏
  • 举报
回复
这个是因为
1、ORACLE在客户端有缓存的功能;
2、ORACLE执行SQL后要执行“Commit”进行提交的;

解决:
1、在PL/SQL中设置自动提交,或执行SQL后自己写“Commit”进行提交;
2、在程序中将SQL写进事物,最后进行事务提交trans.Commit().
神之泪花 2008-06-26
  • 打赏
  • 举报
回复
没太懂你要问什么.

是插入数据后再检索,页面没刷新,还是???
gyc 2008-06-26
  • 打赏
  • 举报
回复
应该是有缓存的

另外, Oracle 的 connection 不会被CG回收, 所以需要手动处理。

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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