Delphi dbf 파일에서 레코드를 배치하는 방법(Table의 RecNum 속성을 설정하여 레코드 번호로 이동)

2833 단어 Delphi
Delphi의 table의 RecNum 속성은 기록을 찾을 수 있습니다. 예를 들어:self.Table1.RecNum:=23;즉 데이터베이스 기록을 23번 기록으로 이동시킬 수 있지만 이런 역할은 dBASE 데이터베이스가 아닌 파라다이스 데이터베이스에만 한정된다.이 문제를 해결하는 방법은 다음과 같습니다.
unit DBTables;
...
procedure TBDEDataSet.SetRecNo(Value: Integer);
begin
  CheckBrowseMode;
  if (FRecNoStatus = rnParadox) and (Value <> RecNo) then
  begin
    DoBeforeScroll;
    if DbiSetToSeqNo(Handle, Value) = DBIERR_NONE then
    begin
      Resync([rmCenter]);
      DoAfterScroll;
    end;
  end;
end;

또는 다음과 같은 방법을 사용할 수도 있습니다.
procedure SetRecNo(DataSet: TDataSet; const RecNo: Integer); var ActiveRecNo, Distance: Integer; begin
  if (RecNo > 0) then
  begin ActiveRecNo := DataSet.RecNo; if (RecNo <> ActiveRecNo) then
    begin DataSet.DisableControls; try Distance := RecNo - ActiveRecNo; DataSet.MoveBy(Distance); finally DataSet.EnableControls; end; end; end; end;

 

좋은 웹페이지 즐겨찾기