表编辑错误,奇怪(150分)

  • 主题发起人 主题发起人 yubo
  • 开始时间 开始时间
Y

yubo

Unregistered / Unconfirmed
GUEST, unregistred user!
表编辑错误,奇怪(Oracle数据库)

用改变 Table.Filter 找到数据
Edit、FieldByName 修改数据后、Pose ;
提示:
Couldn't perform the edit because
anther user changed the record.
但这时没有其它用户操作数据库。
在SQL Explorer 中也是这样。
同样操作,库中其它表没事。用SQL语句对这表进行同样操作也没事。
是不是这表坏了?!
增样得到BDE的版本号?它的最新版?

Delphi4 + Oracle8
客户端:Oracle7.3
 
1.Table1.Active是否"使能"
2.Edit应尽量靠近post.
 
Table1.Active 能使;
Edit,在Post前一句
SQL Explorer 中加过滤条件后,修改也是这样!
 
Table1.Active =true
 
急盼大虾、高手(Oracle)

问题急需解决!!!!

我是物资MIS,五一后,还等我改正错误,继续上帐!

望大家多帮忙!?!?

急!急!急!急!急!急!急!急!急!急!
急!急!急!急!急!急!急!急!急!急!急!急!
 
YUBO
我也在做物资MIS,咱们可以交流以下心得吗?
MYEMAIL DHT@WWW.BJPEU.EDU.CN
我在程序中从来没用TABLE ,一般用QUERY
我想你试一试吧,没有有用户可能是DELPHI的编辑环境也算一个拥护
 
每人回答了吗?
可能是我的数据库的问题.
不加Filter问题一样,而且就两条记录有问题?
 
有道理
用Query
不用table
 
你是不是修改数据,导致提交后的数据与filter中的条件不一致。如filter为a=1,
而你在修改数据时,字段a的值变为其它值了。这时会报错!
 
其实你一步一步来嘛!
1、表是否坏了,你先建立一个与原来一模一样的表结构,把原来表的数据导入到新
表,先在Oracle操作一下,再用Sql Explorer操作一下,然后在程序里操作。对比结
果就知道了。
2、还有,我发现你用Ttable来操作数据,在操作远端数据库或SQL服务器,绝对不能
用Ttable的,要用Tquery+Tupdatesql来处理数据,否则会出现莫名其妙的问题来。
3、升级一下你的BDE,去www.inprise.com.cn下载最新的BDE,它说刚解决一个防问
oracle的重大问题。
 

fstao你好: 我好多天没上网,问题一被处理,表中共两千多条数据
有78条坏。

1.已经下载最新的BDE,安装没解决.

2.BatchMove copy 一份错误依旧,但加上主、外健问题解决,改拷贝表名
问题处理。

请问:
是不是表的主外健有问题?在那种情况下Oracle表会坏
(Oracle8 客户端:Oracle7.3)
Oracle8客户端连不上服务器?(8.04)
 
应该是delphi的bug,
基本没有根本解决的方法,请避免此种使用
 
此问题我也经常碰到,不过我用的是SQL7.0,我理解可能是delphi的bug,解决此问题可用query
例如:
with query1 do begin
sql.text := 'update field1 set field1=?? where ??;
execsql;
end;
 
改TABLE的UPDATEMODE为upWhereKeyOnly或upWhereChanged,试一试.
 
用zhangdamin的方法问题解决.

但是后台数据库的表确实损坏了.也不是BDE的Bug,我用PB一样出错!
PB的数据窗口也有UPDATEMODE改变后没事.

怎样会造成表的损坏?

为什么改变UpdateMode为upWhereKeyOnly或upWhereChanged
都没事UpdateMode 帮助中说是一个关于数据更新后
数据检索重定位的属性.
 
你可以用DELPHI带的SQL MONITOR,看一下三种不同UpdateMode的语句是不一样的!!!
 
多人接受答案了。
 
后退
顶部