amemorydataset.pas

来自「delphi通过OCI访问ORACLE」· PAS 代码 · 共 88 行

PAS
88
字号
unit AMemoryDataSet;

{
  Implements class which stores data in memory.

  You can use AMemoryDataSet when you need save and access to table oriented 
   data and you no need show this data in DBGrid.
  
  If you need store data in memory and show them in DBGrid you can use 
   MemoryDataSet - the wrapper around AMemoryDataSet and descendant of TDataSet.
 
  AMemoryDataSet more fast then MemoryDataSet.

}

interface

uses
  Windows, Classes, ADataSet, DBConsts;

type
  TAMemoryDataSet = class(TADataSet)
  public
   constructor Create(AOwner:TComponent); override;
   destructor Destroy; override;
//   procedure AddField(FieldName:string;FieldType:TAFieldType;FieldSize:word;Required:boolean); override;
   procedure Fetch;override;
   procedure ClearParams;override;
   procedure AddParam(ParamName:string;FieldType:TAFieldType;ParamType:TAParamType);override;
   procedure Prepare;override;
   procedure UnPrepare;override;
   procedure MoveRecord(FromPos,Count,Offset : integer);   // moving records
  published
  end;

implementation


{ TAMemoryDataSet }

constructor TAMemoryDataSet.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 FFetched:=True;
end;

destructor TAMemoryDataSet.Destroy;
begin
 inherited Destroy;
end;

procedure TAMemoryDataSet.MoveRecord(FromPos, Count, Offset: integer);
var
  i : integer;
begin
  if Offset = 0 then exit;
  for i := 0 to FieldCount-1 do
  begin
   if Assigned(FieldByIndex[i].HArrayValues)
     then FieldByIndex[i].HArrayValues.MoveData(FromPos,Count,Offset);
   if Assigned(FieldByIndex[i].HArrayValuesNull)
     then FieldByIndex[i].HArrayValuesNull.MoveData(FromPos,Count,Offset);
  end;
end;

procedure TAMemoryDataSet.AddParam(ParamName: string;
  FieldType: TAFieldType; ParamType: TAParamType);
begin
end;

procedure TAMemoryDataSet.ClearParams;
begin
end;

procedure TAMemoryDataSet.Fetch;
begin
end;

procedure TAMemoryDataSet.Prepare;
begin
end;

procedure TAMemoryDataSet.UnPrepare;
begin
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?