home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / kompon / d45 / ARDOCI.ZIP / AMemoryDataSet.pas < prev    next >
Pascal/Delphi Source File  |  2001-03-01  |  2KB  |  93 lines

  1. unit AMemoryDataSet;
  2.  
  3. {
  4.   Implements DataSet which stores data in memory.
  5.  
  6.   You can use AMemoryDataSet when you need save and access to table oriented 
  7.    data and you no need show this data in DBGrid.
  8.   
  9.   If you need store data in memory and show them in DBGrid you can use 
  10.    MemoryDataSet (which contains in this dOCI pack) - the wrapper around 
  11.    AMemoryDataSet and descendant of TDataSet.
  12.  
  13.   AMemoryDataSet more fast then MemoryDataSet.
  14.  
  15. }
  16.  
  17. interface
  18.  
  19. uses
  20.   Windows, Classes, ADataSet, DBConsts;
  21.  
  22. type
  23.   TAMemoryDataSet = class(TADataSet)
  24.   public
  25.    constructor Create(AOwner:TComponent); override;
  26.    destructor Destroy; override;
  27. //   procedure AddField(FieldName:string;FieldType:TAFieldType;FieldSize:word;Required:boolean); override;
  28.    procedure Fetch;override;
  29.    procedure ClearParams;override;
  30.    procedure AddParam(ParamName:string;FieldType:TAFieldType;ParamType:TAParamType);override;
  31.    procedure Prepare;override;
  32.    procedure UnPrepare;override;
  33.    procedure MoveRecord(FromPos,Count,Offset : integer);   // ±ΣΓΦπ τα∩Φ±σΘ
  34.   published
  35.   end;
  36.  
  37. procedure Register;
  38.  
  39. implementation
  40.  
  41. procedure Register;
  42. begin
  43.   RegisterComponents('Data Access', [TAMemoryDataSet]);
  44. end;
  45.  
  46. { TAMemoryDataSet }
  47.  
  48. constructor TAMemoryDataSet.Create(AOwner: TComponent);
  49. begin
  50.  inherited Create(AOwner);
  51.  FFetched:=True;
  52. end;
  53.  
  54. destructor TAMemoryDataSet.Destroy;
  55. begin
  56.  inherited Destroy;
  57. end;
  58.  
  59. procedure TAMemoryDataSet.MoveRecord(FromPos, Count, Offset: integer);
  60. var
  61.   i : integer;
  62. begin
  63.   if Offset=0 then exit;
  64.   for i:=0 to FieldCount-1 do
  65.   begin
  66.    if Assigned(FieldByIndex[i].HArrayValues) then FieldByIndex[i].HArrayValues.MoveData(FromPos,Count,Offset);
  67.    if Assigned(FieldByIndex[i].HArrayValuesNull) then FieldByIndex[i].HArrayValuesNull.MoveData(FromPos,Count,Offset);
  68.   end;
  69. end;
  70.  
  71. procedure TAMemoryDataSet.AddParam(ParamName: string;
  72.   FieldType: TAFieldType; ParamType: TAParamType);
  73. begin
  74. end;
  75.  
  76. procedure TAMemoryDataSet.ClearParams;
  77. begin
  78. end;
  79.  
  80. procedure TAMemoryDataSet.Fetch;
  81. begin
  82. end;
  83.  
  84. procedure TAMemoryDataSet.Prepare;
  85. begin
  86. end;
  87.  
  88. procedure TAMemoryDataSet.UnPrepare;
  89. begin
  90. end;
  91.  
  92. end.
  93.