在用TClientDataset更新多条数据时,超过2条的更新就出现等待的死机现象
求解。
求解。
解决方案 »
- 求一份从listview中数据导出到execl的源码,谢谢~
- 已知在orace7.3服务器上保存有*.doc文件,怎样用delphi把这些word文件传输过来并打开,最好还能修改并保存
- 高分求救高手压缩BCD码的转换问题
- 关于面试--GIS软件开发
- 有关MDI窗口的创建问题!
- 怎样在ADOQuery中加入Data字段
- 怎样循环播放*.wav和*.mid文件?请给出源代码!百分感谢呀!紧急呀!
- 关于DBGride的问题!
- InstallShield专题论坛,诚邀您的加盟!!!
- 怎么编程自动下载某个网址的东西?
- 问个问题,为了使程序开始时就隐藏我用了Application.ShowMainForm := false;可让它显示时窗体上什么都没有
- of object的使用方法
if Frm_SYSL_RLPF_BRN.Tbl.State in [dsedit,dsbrowse] then
begin
with CDS do
begin
close;
commandtext:='select * from dmRationFeedDT where cRationID='''+Frm_SYSL_RLPF_BRN.Tbl.FieldByName('cRationID').AsString+''' and cclass=''¾«ÁÏ''';
open;
end;//end with
在修改完后。
就applyupdate(0);
然后就到这步就死在那里不动了。
在修改完后
Post; //加上試試
ApplyUpdate(0);
你这种情况我以前也碰到过,我不知道你的的服务端是怎么写的,上次我就通过改服务端来解决这个问题的。
如果是 Update ,Insert等语句就要用 ExecSql 来执行...
我用的是TBDEClientDataset.
先用Select语句将要修改的记录都调出来(多条),然后在修改其中多条的数据
最后用TBDEClientDataset.ApplyUpdate()提交修改。当然是多条记录同时提交。
但只修改一条记录,就可以提交成功,但多条就不行。
你怎样通过修改服务器端就解决了。
望提示。
改为:
if Frm_SYSL_RLPF_BRN.Tbl.State in [dsedit,dsInsert] then另外你的表是否设置了主键?
Frm_SYSL_RLPF_BRN.Tbl这个是另外一个表的,我的表是主从结构
CDS是从表,Tbl是主表,有主键,也就是说CDS是多条记录一起更新,同时也更新Tbl表。
上面的代码只是更新CDS的记录。
解决方法如下:TDataSetProvider.ResolveToDataSet:=True; 一般这样就可以解决你的问题了,如果还不行的话,那就改用 TUpdateSQL 方式来更新,自已写SQL语句。