ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DELPHI CLIENTDATASET 不能修改刪除問題

DELPHI CLIENTDATASET 不能修改刪除問題

原创 Linux操作系统 作者:zaorv 时间:2019-05-15 08:42:06 0 删除 编辑
窗口從基本功能窗口繼承,今天 做的窗口能新增數據,但不能修改、刪除數據 。提示:Record not found or changed by another user 以下是從網絡找到的問答: 1.你的程序中有两个连接,或有两个数据集同时联接到数据库,而其中一个数据集中的变化没有同步到另一个数据集中去。可以使用Requery使之同步。[@more@]

2.是由于Clientdataset与Provider不同步引用的重新获取Clientdataset一下就行了. 3.不是Delphi的BUG,是你的问题。极有可能是你提交的Update的SQL语句的Where子句中包含有诸如浮点、日期等类型。这样导致数据库无法定位到准确的记录,所以报错。

谢谢QQ群里阿规帮忙解决。

服务器端:ADOQUERY的表主健字段属性 ProviderFlags.pflnUpdate=true,

ProviderFlags.pflnWhere=true,

ProvderFlags.pflnKey=true.

2010-11-10

實例子:

procedure TfrmLCDSProgress.FormCreate(Sender: TObject);
begin
ischecked:='chk'; //確認狀況字段
checkuser:='chkuser'; //確認者字段
checktime:='chkdate'; //確認時間

Master_dataset := DMEng_C.CDSLCDSProgress;
qry_key :='fID'; // 不能刪除數據主要原因:此處的主鍵 與表中主鍵設定不一致。 表中主鍵為 FID,此處原來 QRY_KEY:=FNO.因此不能刪除數據。雖然在DBGRID中已經刪除,但數據表中沒有刪除 。現在 修改QRY_KEY:=FID後,數制表中也刪除了所刪除的數據。
qry_sel :='tLCDsProgress';

if not Master_dataset.Active then
begin
Master_dataset.Active := True;
end;
inherited;
querysortfield:=' fdcdate desc,fgzdate desc,ftxsjdate desc,fggzdDate desc,freceiptDate desc ';

SetItem(DBComboBox5,'PD',QRY_sel); // PD負責人
SetItem(DBComboBox7,'SALE',QRY_sel); // 業務負責人
end;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/729024/viewspace-1041221/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: delhpi 身份证校验
请登录后发表评论 登录
全部评论

注册时间:2018-09-12

  • 博文量
    192
  • 访问量
    206110