三层结构中数据更新的问题?(200分)

  • 主题发起人 主题发起人 wolfliusq
  • 开始时间 开始时间
W

wolfliusq

Unregistered / Unconfirmed
GUEST, unregistred user!
我们正在开发一个三层结构的数据库应用程序,应用服务器上放了若干个 ADOTable/ADOQuery
和 DataSetProvider 控件,客户端通过 SocketConnection 与应用器连接.结果在客户端更新数据时
(我们现在测试的是 插入数据),在客户端可以看到更新的数据,但是在调用 ApplyUpdates后,数据没有
传到数据库服务器。我们的客户端程序如下
begin
fDataSet:=DataMD.ClientDM.StudSSDataSet ;
fDataset.Open;
fDataSet.Edit;
with fDataSet do
begin
Insert;
FieldByName('PYDWDM').AsString:='10288';
FieldByName('XH').AsString:='S2000060267';
FieldByName('XM').AsString:='王东' ;
end;
fDataSet.Post;
if (fDataSet.ChangeCount > 0) then

fDataSet.ApplyUpdates(-1);
请各位高手帮小弟看看有何问题?
E_mail : toliiusq@263.net
 
with fDataSet do?

你寫的fDataSet是數據表單名稱嗎?
 
应该是这样的.
if fdataset.applyupdates(-1)=0 then
fdataset.refresh;
 
TdataSetProvider updatemode 设为 upWhereKeyOnly 试试看
 
Delphi中的ADO控建 有些问题,
你有没有打补丁?
 
我的应用服务器那里用的是query控件,和你一样,也是用applyupdates(-1)不能把
clientdataset中的数据添加到服务器的表里面,奇怪的是我的服务器有三个表,我用循
环的方法来地把本地表内容添加到服务器对应表,其中有个表可以正确添加,有个表只能
添加一部分数据,有个表是一条数据都没有添加上,我追踪过ClientDataSet,添加前都是
有正确的数据的,服务器端三个表设置一样,就是表不同,也是分别建立的三个dataset-
provider,哎,BUG????
 
多人接受答案了。
 
后退
顶部