資料修改後無法存盤(很奇怪的問題)(0分)

  • 主题发起人 主题发起人 BILLYZHENG
  • 开始时间 开始时间
B

BILLYZHENG

Unregistered / Unconfirmed
GUEST, unregistred user!
各位先進:
當我修改一筆記錄時,存盤時提示錯誤信息:

Project Mrp.exe raised exception class EDBEngineError with message 'Capability not supported.'.Process stopped.Use Step or Run to continue.

我用的是Oracle8數據庫,開發工具是Delphi5.0.新增一條記錄時,順利通過,就是修改不行.
begin
Try
If DataBase.Connected=False Then
DataBase.Connected:=True;
if not DataBase.InTransaction then DataBase.StartTransaction;
/*如果拿掉此句,修改後存檔,可以順利通過.但是,如果拿掉此句,多人同時修改同一筆記錄,則系統死機*/
TQuery(DataSource.DataSet).ApplyUpdates;
TQuery(DataSource.DataSet).CommitUpdates;
If DataBase.InTransaction then
DataBase.Commit;
Except
If DataBase.InTransaction then DataBase.Rollback;
Application.MessageBox('此筆記錄存檔失敗','',mb_OK);
EXIT;
End;

end;

請各位大俠幫忙解決.後生在此有禮.

 
我不懂Oracle8,我用SQL6。5,
>>多人同時修改同一筆記錄,則系統死機
是死机还是死锁?
 
是死鎖.當退出整個系統時,鎖才被釋放掉.
唉!解決這了這個問題,很傷心.
 
你用的是缓冲区方法,该方法不支持memo字段,you can mailto :xiejinshi@sina.com 我们可以讨论,ok
 
Code:
你好!
表中沒有使用Memo字段.但是如果建立一個唯一索引,則就沒有問題,但是並非所有表都有唯一key.
但有些表不建唯一索引又是可以的.
所以我說這是個怪問題.

在此,謝謝你了.
billyzheng
 
接受答案了.
 
后退
顶部