Delphi ClientDataSet ApplyUpdates问题,在线等, 30
此问题把我搞卡了几天,我之前都是用ADO我在DM上建立了做了控件设置如下图问题:A:我在DM建了三个控件,ADO+DataSetProvider+Cdsgy属性如下B:用...
此问题把我搞卡了几天,我之前都是用ADO
我在DM上建立了做了控件设置如下图
问题:A:我在DM建了三个控件,ADO+DataSetProvider+Cdsgy 属性如下B:用户操作窗口我用Cds1+ds1+Dbgrideh C 我所有的窗口取数据都是 Cds1赋值SQL给DM.Cdsgy ,DM.Cdsgy得到值后然后再赋值回来(cds1.data:=DM.cdsgy.data)顺利 在窗口得数据示。D:我现在插入和修改出问题了,我用以下办法, DM.cdsGY.Data:=cds1.Data;(窗口cds1数据转到DM中,由DM中来处理增加修改数据) DM.cdsGY.ApplyUpdates(0); 插入和修改 都是第一笔数据顺利,可第二笔出错,插入提示数据重复(数据不重复),
还是我的控制设计本身就是有问题,请知道的朋友告诉我一下,谢谢, 展开
我在DM上建立了做了控件设置如下图
问题:A:我在DM建了三个控件,ADO+DataSetProvider+Cdsgy 属性如下B:用户操作窗口我用Cds1+ds1+Dbgrideh C 我所有的窗口取数据都是 Cds1赋值SQL给DM.Cdsgy ,DM.Cdsgy得到值后然后再赋值回来(cds1.data:=DM.cdsgy.data)顺利 在窗口得数据示。D:我现在插入和修改出问题了,我用以下办法, DM.cdsGY.Data:=cds1.Data;(窗口cds1数据转到DM中,由DM中来处理增加修改数据) DM.cdsGY.ApplyUpdates(0); 插入和修改 都是第一笔数据顺利,可第二笔出错,插入提示数据重复(数据不重复),
还是我的控制设计本身就是有问题,请知道的朋友告诉我一下,谢谢, 展开
2个回答
展开全部
一般clientdataset这样的ApplyUpdate是直接更新在本数据集上的。像这样Data赋值之后再|提交没试过。
你尝试在DM.cdsGY.Data:=cds1.Data;之前清空cdsGY的修改记录(MergeChangeLog),在之后清空cds1.Data的修改记录。确保数据修改不会混乱,因为你提交了cdsGY的数据,没有调整cds1的修改记录
你尝试在DM.cdsGY.Data:=cds1.Data;之前清空cdsGY的修改记录(MergeChangeLog),在之后清空cds1.Data的修改记录。确保数据修改不会混乱,因为你提交了cdsGY的数据,没有调整cds1的修改记录
追问
1) 我的结构是不是有问题,如何直接在本数据信上使用,ApplyUpdate
2) 如何清空DM.cdsGY.data
追答
1.你的DM上没问题, 刚我看漏了,你的用法没问题
2.在提交之后加一句:客户端cds1.MergeChangeLog。
试试吧,根据实际情况可能有异。
展开全部
没试出你 的步骤。能把代码打包上传看看?delphi哪个版本?
更多追问追答
追问
我用的DELPHI7 ,不一定要用我的链接方法(我的链接方法可能有错),
你可以告诉我如何正确的链接
DM中: 放什么控件
窗口中:Cds1+ds1+Dbgrideh ,
我要实现新增修改删除查询功能?
追答
你看一下这个delphi自带的Demo是否符合你的要求,
X:\Program Files (x86)\Borland\Delphi7\Demos\Midas\Login
虽然没有修改功能,但你可以加
----------------------------------
procedure TForm1.btn2Click(Sender: TObject);
begin
ClientDataSet1.Post;
ClientDataSet1.ApplyUpdates(0);
end;
------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询