Fetch

Fetch范例说明,Paged Orders标签说明:
1,dept数据集

SELECT DEPTNO,DNAME,LOC
FROM DEPT
WHERE
DEPTNO > :iDEPTNO AND
{Where}
ORDER BY DEPTNO

2,首次激活数据集

if tbl_dept.Active then
    tbl_dept.Close;
  //绑定参数
  tbl_dept.ParamByName('iDEPTNO').AsInteger := 0;
  tbl_dept.MaxRecords := 2;
  tbl_dept.Open;

3,重点来了。TDADataTable实现AfterScroll。光标移动数据集的最后一行,执行if里面代码块。

if DataTable.EOF and not DataTable.Fetching then
  begin
    DataTable.ParamByName('iDEPTNO').AsInteger :=  DataTable.FieldByName('deptno').AsInteger;
    DataTable.MaxRecords := 2;
    DataTable.LoadFromRemoteSource(True);   激活一次,下次直接Load即可。
    Label1.Caption := IntToStr(DataTable.RecordCount);
  end;

4,主数据集手工写,明细数据集自动生成。通过MasterMappingMode=mmWhere,MasterSource=..,MasterFields=..,DetailFields=..

fefegegegeg

你可能感兴趣的:(Fetch)