百分求解释,为啥Tclientdataset.applyupdates不能直接更新到数据库

zoucp 2012-08-09 08:59:22

FRDCDS.SetProvider(DSPthunder);
//FTXTCDS入数据表
FRDCDS.Open;
FRDCDS.AppendData(FTXTCDS.DATA, false);

if FThunderDM.ADOQthunder.State<>dsedit then FThunderDM.ADOQthunder.Edit ;
if FRDCDS.State<>dsedit then FRDCDS.Edit ;
//FRDCDS.Post;
e:=FRDCDS.ApplyUpdates(-1);
DSPthunder.ApplyUpdates(FRDCDS.data ,-1,e) ;
只有最后一行能更新到数据库。。。。。。
...全文
215 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoucp 2012-08-10
  • 打赏
  • 举报
回复
provider不能自动工作?
zoucp 2012-08-10
  • 打赏
  • 举报
回复
试过了,就是没作用,并且不post,provider也上传了数据,所以注释了。
zoucp 2012-08-10
  • 打赏
  • 举报
回复
自己顶下,通过Tprovider,数据取来了,有更新但是不自动上传,很别扭啊。
kaikai_kk 2012-08-09
  • 打赏
  • 举报
回复
FRDCDS.ApplyUpdates(-1);前加上FRDCDS.Post;试试
zoucp 2012-08-09
  • 打赏
  • 举报
回复
对不起,我描述的不清楚,我说的是我的代码的最后一行才起作用
而不是最后一条记录保存到数据库。
我想要的是使用Tclientdataset.Applyupdates就直接到数据库了,是不是我哪儿没设置好呢?
目前的状态是clientdataset 被provider隔断了与ADOQuery的联系。必须使用
DSPthunder.ApplyUpdates(FRDCDS.data ,-1,e) ;
才能更新到数据库。
Hexpate 2012-08-09
  • 打赏
  • 举报
回复
很久没搞数据库了, 我记得provider里有一个选项是说更新当前行, 还是更新全部

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧