clientdataset.close后会执行beforegetrecords事件? (50分)

  • 主题发起人 主题发起人 noall
  • 开始时间 开始时间
N

noall

Unregistered / Unconfirmed
GUEST, unregistred user!
客户端用dconconnection和 clientdataset与服务端联系。
在按钮里这样写
procedure TFrmLogin.MIOLabel1Click(Sender: TObject);
begin
if ClientDataSet1.Active =True then
ClientDataSet1.Close;
ClientDataSet1.open;
end;

在clientdataset的beforegetrecords里写
procedure TFrmLogin.ClientDataSet1BeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData:=VarArrayOf([Edit1.text,Edit2.text,'1']);//传递参数到服务端
end;

在按钮的click事件里,如果是第一次运行那都没事。但如何再执行click事件,
当运行到clientdataset1.close时会转到beforegetrecords事件后再执行clientdataset1.open,
执行完clientdataset1.open后再执行beforegetrecords事件。这样那beforegetrecords事件就多运行了一次。
我是根据midas中的例子做的。看来也是有问题。
请问:1.在clientdataset1.close时为什么会执行beforegetrecords事件呢?1
2.如果不是在beforegetrecords事件里传参数,那应该在哪里传问递传参呢?
 
我觉得是你程序的问题,
你把close与open方法分开到两个按钮中的事件再试试
 
接受答案了.
 
后退
顶部