Record change by another user ???(100分)

  • 主题发起人 主题发起人 evon
  • 开始时间 开始时间
我上次业余悼词问题.
后来就好了.我的错误原因是:(用的是oracle7.3版本的).
1.我在程序重用了两个别名,但他们的物理表示同一个 ,所以只要
对一个进行表操作后,林一个在操作便汇报错."the record has been changed by another user".
2. 好象在oracle7.3 中不可以在一过程中进行连续两次操作.
 
Wuhee:
我没有用过Oracle数据库,但我想问题不是出在数据库上,而是出在Delphi上,
我在程序中使用了两个别名,一个用于读数据(用SELECT),而另一用于写数据
(用Update及Insert语句),这样使用后的效果很好,不妨试一试。
 
to wheel:
好象在oracle7.3 中不可以在一过程中进行连续两次操作.
过程?

若是本地表,可用dbi函数来解决。具体的我忘了。
 
好像并不是共享冲突,spear最后说的有道理,你可以试着在两次写操作中加一些语句,加上QUERY1.CLOSE;QUERY1.OPEN应该可以,当然效率就一般了!
 
我最近也被这个问题困扰,我用的是 SQL_SERVER6。5。
所以我想这个问题与后台数据库没有关系,应该是DELPHI 的BDE 出了问题。
我尝试了delphi 的各种编辑界面都我无法解决这个问题,而用SQL语句
直接提交给SQL_SERVER去处理则可以,但回到TABLE控件去编辑,依然不行。
只好在后台删掉再重建。但是用TQUERY 作编辑界面的DATASET 是极不方便的
况且这些数据隐患如不消除是危险的。我建议大家齐心合力找出根源所在
 
liuz 讲的有道理,好像是浮点数出了问题,我在修改了锁定纪录的浮点数字段后,
该纪录就可以编辑了。
 
呵,我今天终于又捕捉到了现场,引发错误的原因很简单:你正在操作的表中存在两条
或以上的完全一样的记录。这样你对其中的一条记录进行操作时会引发一个错误,而
再对其中的任意一条操作时就会引发上述错误。
evon:试一试,可别忘了给我加分!!
 
我也遇到过这种问题。根据原因的不同解决的办法也不同
有时,需要把表的actibe设成 false
有时,需要修改datasource的dataset属性。
当同一个表的编辑界面中出现多个datasource时就容易出现这个问题。

目前我碰到的这类问题都可以这样解决。在复杂的情况我就不知道了。
不过我想不会是oracle的问题。
 
多人接受答案了。
 
后退
顶部