代码如下,我跟踪过,发现插入的记录都在最后面。
procedure TMainForm.BizFormCreate(Sender: TObject);
var
procmOrderNo: string;
bookMark: TObject;
begin
InfoBrokerCGDLB.Info.DataSetByID('CGD').First;
procmOrderNo := InfoBrokerCGDLB.Info.DataSetByID('CGD').FieldByName('ProcmOrderNo').AsString;
InfoBrokerCGDLB.Info.DataSetByID('CGD').Next;
while not InfoBrokerCGDLB.Info.DataSetByID('CGD').Eof do
begin
if InfoBrokerCGDLB.Info.DataSetByID('CGD').FieldByName('ProcmOrderNo').AsString <> procmOrderNo then
begin
bookMark := InfoBrokerCGDLB.Info.DataSetByID('CGD').GetBookmark;
InfoBrokerCGDLB.Info.DataSetByID('CGD').Prior;
InfoBrokerCGDLB.Info.DataSetByID('CGD').Insert;
InfoBrokerCGDLB.Info.DataSetByID('CGD').FieldByName('ProcmOrderNo').AsString := procmOrderNo;
InfoBrokerCGDLB.Info.DataSetByID('CGD').Post;
InfoBrokerCGDLB.Info.DataSetByID('CGD').GotoBookmark(bookMark);
procmOrderNo := InfoBrokerCGDLB.Info.DataSetByID('CGD').FieldByName('ProcmOrderNo').AsString;
end;
InfoBrokerCGDLB.Info.DataSetByID('CGD').Next;
end;
end;