标题:三层结构中的数据保存问题,严重啊。
只看楼主
wlt3022
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-7-2
 问题点数:0 回复次数:2 
三层结构中的数据保存问题,严重啊。

各位,好友!

我用的是三层结构,服务端用的是。SOCKET,ADOConnection1,DataSetProvider1,ADOQuery1等,客户端用的是:

SocketConnection1,ClientDataSet1,DataSource1等。发现添加多行数据到数据库中,每次只能保存第一行记录。而且每次都是保存第一条记录。
部分代码如下:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure Twdj_jhd.N1Click(Sender: TObject); //增加物料
var
i: integer;
a:string;
begin
application.createform(Twlmain1, wlmain1);
try
wlmain1.showmodal;
finally
wlmain1.Free;
for i := Low(ClbmRec) to High(clbmRec) do
begin
fm_data.ClientDataSet1.Insert;
a:=trim(DBEdit1.Text);
fm_data.ClientDataSet1.fieldbyname('jhbh').Value:=a;
fm_data.ClientDataSet1.fieldbyname('bm').value := clbmRec[i].clbh;
fm_data.ClientDataSet1.fieldbyname('mcxh').value := clbmRec[i].clmc;
fm_data.ClientDataSet1.fieldbyname('gg').value := clbmRec[i].clgg;
fm_data.ClientDataSet1.fieldbyname('shl').value := clbmRec[i].clshl;
fm_data.ClientDataSet1.Post;
fm_data.ClientDataSet1.ApplyUpdates(0);
end;
end;
end;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
发现 fm_data.ClientDataSet1.Post; 这行没有起到作用,没有他也可以保存,因为调用了缓存更新,

但是,用这个fm_data.ClientDataSet1.ApplyUpdates(0)缓存更新,保存多行记录时,他只保存第一行记录,从第二行起,就不保存里了。

不过在单机版中测试过,可以保存,但是三层结构就不行了。

请问各位好友,如果解决以上问题。在次先谢谢各位好友,

搜索更多相关主题的帖子: 结构 数据 保存 
2006-07-03 08:03
ganyi199
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2006-4-17
得分:0 

你的代码有问题:
应该使用:insert into table形式。
具体解释也说不清楚,如有需要可与我QQ联系:65802524

2006-07-03 08:51
wlt3022
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-7-2
得分:0 
这个可以同时插入多行记录吗?????????????????????????
2006-07-03 11:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-76237-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.293381 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved