三层简单问题!急,有时成功,有时不成功!请高手指点!(20分)

  • 主题发起人 主题发起人 Clearboy
  • 开始时间 开始时间
C

Clearboy

Unregistered / Unconfirmed
GUEST, unregistred user!
我新建了,远程服务器,用的是ado连接,其中放一个adoquery1.sql为select * from user_info
用datasetprovider1提供数据,即连上adoquery1
客户端用的是socketconnection1,servername为刚才我新建的那个host设置了,用clientdataset1连接了,而且在dbgrid1中可以显示user_info的数据,我加了,四个按钮
button1(add)
button2(del)
button3(modify)
button4(save)
事件为如下:
button1click;
clientdataset1.insert;
button2click;
clientdataset2.delete;
button3click;
if clientdataset1.State in [ dsEdit, dsInsert] then
if clientdataset1.ChangeCount>0 then
begin
clientdataset1.applyupdates(-1);
end;
button4click;
clientdataset1.applyupdates(0);
不什么有时行,有时不行!高手解答!我快急疯了,这个小问题搞了N天了!
还有那个applyupdates(-1)与applyupdates(0)有什么区别啊!
其中我在服务器端加入了,afterupdaterecords事件,把与user_info表中相关的东西删掉
用户不在了,当然相关用户的信息要删除,其中是class_info中加或删除!
事件:
case UpdateKind of
ukInsert:
with tmpdo
begin
sql.clear;
sql.text:='insert into class_info(name,class) values("clearboy","two")';
execsql;
end;
ukdelete ;
begin
with tmpdo
begin
sql.clear;
sql.text:='delete from class_info where name=''' +DeltaDS.FieldByName('gName').OldValue + '''';
execsql;
end;
end;
请高手一定帮我搞定,搞定我在加分!
 
我测试了,前台的,那个,我在表格里改时,我要先把那个当前记录移到下面的一条后,点保存就行,而且 不移动光标就不行!还是在cache中!
 
applyupdates(n)N是指你在提交过程中允许发生的错误,0是不允许有错误,一旦有错误就回滚,N代表N个错误,-1是发生了多少错误都提交
给点分吧
 
楼上的
你的问题不难,可是不太明白你要问的问题?
是客户端保存有问题吗?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部