Oracle问题(50分)

  • 主题发起人 主题发起人 毛虎林
  • 开始时间 开始时间

毛虎林

Unregistered / Unconfirmed
GUEST, unregistred user!
使用Table时发生问题:“Cann't perform this edit becouse another
user use this record".
请各位大虾不吝赐教。

 
你的问题可能是在保存前,执行一段有关该table的update造成的,而且该表可能很大,update操作没有执行完。
 
记录锁没打开。可能用另一个程序、另一个用户正在使用这条记录。
 
  我在程序中使用的是Table和DBEdit、DBCheck等组件,绝对没有别的用户或者进程更改当前纪录。
  我的服务器端的oracle版本号是8.0.5,将bde5。1。1的oracle驱动SQLORA8.DLL改为sqlora32.dll之后问题解决,但是有别的问题,使用DBEdit修改纪录之后,产生"bad rowid"异常。
 
我遇到过同的问题,猜想是你的表坏了.是不是编辑个别记录时才出现错误!

1.建一个新表,倒入数据,建立主健连上外健.
2.改TTable.UpDateMode := upWhereChanged or upWhereKeyOnly.

 
如果你的表中有FLOAT型的字段,而你的UPDATEMODE又使用upWhereAll时,
出现这种问题就不出奇了。
 
to qiu_peking:
为什么呢?
有没有彻底解决或避免发生的办法?!
 
如果Table有Key的话,把UpdateMode 改成upWhereKeyOnly
 
to qiu_peking:
  可以说的更加详细一点吗??
 
用TTable控件浏览时会锁定比较多记录,用 TQuery 好一点
 
To PiPi:
  我使用Table主要就是修改纪录。
 
To 毛虎林
你是对任何数据操作都会出错!还是部份? 如果是部分我的两种方法任意一种
都能解决.
这种现象是表坏了,你可用PB操纵一下,如果师表坏了也会出错!
 
这个问题我也遇到过,改用oracle 8i问题即可解决
 
我来帮qiu_peking回复全,但不知对不对,因为Delphi5中的float字段的值
范围与Oracl的字段值范围不同,请不要用Table.
qiu_peking 大吓帮忙说清一下,我在Sql 7.0 中也遇到你这样的问题,后来解决了.
 
  问题好象解决了。
  我从borland网站上下载了一个sqlora8.dll的升级版本,将原来的覆盖掉,
好象就没有这个问题了。
  感谢大家!
  以后有问题还要麻烦大家。
  我发现50分太少了,真是没法分,请大家原谅。
 
多人接受答案了。
 
后退
顶部