菜鸟的三层结构出问题了,拜托各位壮士多多指点,小妹这乡有礼了!!(20分)

  • 主题发起人 主题发起人 gywlily
  • 开始时间 开始时间
G

gywlily

Unregistered / Unconfirmed
GUEST, unregistred user!
在三层结构的客户端,我用:
ClientDataSet1.Data := ClientDataSet1.DataRequest('select * from PUBLISHERS');
ClientDataSet1.Refresh;
取数据
在服务器端:
DataSetProvider.OnDataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
begin
SQLDataSet1.Close;
SQLDataSet2.Close;
SQLDataSet1.CommandText := Input;
SQLDataSet1.Open;
SQLDataSet2.Open;
Result := DataSetProvider1.GetRecords(2, i, MetaDataOption);//◎◎◎◎
end;
我想自己控制每次取两条记录。但执行到//◎◎◎◎这一句时报异常数据包中无元数据:
DataPacket Contains no Meta Data;
我把//◎◎◎◎写成:Result := DataSetProvider1.GetRecords(2, i, MetaDataOption + ResetOption);
就好了,但是却取得了所有的数据,不能每次取两条记录。
Delphi6帮助说:
MetaDataOption : The data packet includes metadata as well as record values.
明明包括元数据metadata,为何执行时报异常?纳闷!!
请各位高手帮助解答?小妹不胜感激涕泠:-)
 
DataSetProvider.OnDataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
begin
SQLDataSet1.Close;
//SQLDataSet2.Close;
<<不知此处的sqldataset2用来何用
SQLDataSet1.CommandText := Input;
SQLDataSet1.Open;
//SQLDataSet2.Open;

DataSetProvider1.Reset(true);
Result:=DataSetProvider1.GetRecords(2,iRecords);
end;
 
to 52free
可是DatasetProvider里怎么没有Reset方法阿?请指教!!
 
学习为主,打扰了。
给我个3层的简单例子,可以么?
我是菜鸟,我发言了!哈哈哈
MSN:tonsonJ@hotmail.com
 
Result := DataSetProvider1.GetRecords(2, i, MetaDataOption);//◎◎◎◎
->>Result := DataSetProvider1.Data;
 
后退
顶部