|
@@ -1182,16 +1182,32 @@ type
|
|
|
|
|
|
TDBDatasetClass = Class of TDBDataset;
|
|
TDBDatasetClass = Class of TDBDataset;
|
|
TDBDataset = Class(TDataset)
|
|
TDBDataset = Class(TDataset)
|
|
|
|
+ Private
|
|
|
|
+ FDatabase : TDatabase;
|
|
|
|
+ Protected
|
|
|
|
+ Procedure SetDatabase (Value : TDatabase); virtual;
|
|
|
|
+ Procedure CheckDatabase;
|
|
|
|
+ Public
|
|
|
|
+ Destructor destroy; override;
|
|
|
|
+ Property DataBase : TDatabase Read FDatabase Write SetDatabase;
|
|
|
|
+ end;
|
|
|
|
+
|
|
|
|
+ { TDBTransaction }
|
|
|
|
+
|
|
|
|
+ TDBTransactionClass = Class of TDBTransaction;
|
|
|
|
+ TDBTransaction = Class(TComponent)
|
|
Private
|
|
Private
|
|
FDatabase : TDatabase;
|
|
FDatabase : TDatabase;
|
|
Procedure SetDatabase (Value : TDatabase);
|
|
Procedure SetDatabase (Value : TDatabase);
|
|
Protected
|
|
Protected
|
|
Procedure CheckDatabase;
|
|
Procedure CheckDatabase;
|
|
Public
|
|
Public
|
|
|
|
+ procedure EndTransaction; virtual; abstract;
|
|
Destructor destroy; override;
|
|
Destructor destroy; override;
|
|
Property DataBase : TDatabase Read FDatabase Write SetDatabase;
|
|
Property DataBase : TDatabase Read FDatabase Write SetDatabase;
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+
|
|
{ TDatabase }
|
|
{ TDatabase }
|
|
|
|
|
|
TLoginEvent = procedure(Database: TDatabase;
|
|
TLoginEvent = procedure(Database: TDatabase;
|
|
@@ -1204,6 +1220,7 @@ type
|
|
FConnected : Boolean;
|
|
FConnected : Boolean;
|
|
FDataBaseName : String;
|
|
FDataBaseName : String;
|
|
FDataSets : TList;
|
|
FDataSets : TList;
|
|
|
|
+ FTransactions : TList;
|
|
FDirectory : String;
|
|
FDirectory : String;
|
|
FKeepConnection : Boolean;
|
|
FKeepConnection : Boolean;
|
|
FLoginPrompt : Boolean;
|
|
FLoginPrompt : Boolean;
|
|
@@ -1212,11 +1229,16 @@ type
|
|
FSQLBased : Boolean;
|
|
FSQLBased : Boolean;
|
|
FOpenAfterRead : boolean;
|
|
FOpenAfterRead : boolean;
|
|
Function GetDataSetCount : Longint;
|
|
Function GetDataSetCount : Longint;
|
|
|
|
+ Function GetTransactionCount : Longint;
|
|
Function GetDataset(Index : longint) : TDBDataset;
|
|
Function GetDataset(Index : longint) : TDBDataset;
|
|
|
|
+ Function GetTransaction(Index : longint) : TDBTransaction;
|
|
procedure SetConnected (Value : boolean);
|
|
procedure SetConnected (Value : boolean);
|
|
procedure RegisterDataset (DS : TDBDataset);
|
|
procedure RegisterDataset (DS : TDBDataset);
|
|
|
|
+ procedure RegisterTransaction (TA : TDBTransaction);
|
|
procedure UnRegisterDataset (DS : TDBDataset);
|
|
procedure UnRegisterDataset (DS : TDBDataset);
|
|
|
|
+ procedure UnRegisterTransaction(TA : TDBTransaction);
|
|
procedure RemoveDataSets;
|
|
procedure RemoveDataSets;
|
|
|
|
+ procedure RemoveTransactions;
|
|
protected
|
|
protected
|
|
Procedure CheckConnected;
|
|
Procedure CheckConnected;
|
|
Procedure CheckDisConnected;
|
|
Procedure CheckDisConnected;
|
|
@@ -1230,10 +1252,13 @@ type
|
|
procedure Close;
|
|
procedure Close;
|
|
procedure Open;
|
|
procedure Open;
|
|
procedure CloseDataSets;
|
|
procedure CloseDataSets;
|
|
|
|
+ procedure CloseTransactions;
|
|
procedure StartTransaction; virtual; abstract;
|
|
procedure StartTransaction; virtual; abstract;
|
|
procedure EndTransaction; virtual; abstract;
|
|
procedure EndTransaction; virtual; abstract;
|
|
property DataSetCount: Longint read GetDataSetCount;
|
|
property DataSetCount: Longint read GetDataSetCount;
|
|
property DataSets[Index: Longint]: TDBDataSet read GetDataSet;
|
|
property DataSets[Index: Longint]: TDBDataSet read GetDataSet;
|
|
|
|
+ property TransactionCount: Longint read GetTransactionCount;
|
|
|
|
+ property Transactions[Index: Longint]: TDBTransaction read GetTransaction;
|
|
property Directory: string read FDirectory write FDirectory;
|
|
property Directory: string read FDirectory write FDirectory;
|
|
property IsSQLBased: Boolean read FSQLBased;
|
|
property IsSQLBased: Boolean read FSQLBased;
|
|
published
|
|
published
|
|
@@ -1253,7 +1278,7 @@ type
|
|
BookmarkFlag : TBookmarkFlag;
|
|
BookmarkFlag : TBookmarkFlag;
|
|
end;
|
|
end;
|
|
|
|
|
|
- TBufDataset = class(TDataSet)
|
|
|
|
|
|
+ TBufDataset = class(TDBDataSet)
|
|
private
|
|
private
|
|
FBBuffers : TBufferArray;
|
|
FBBuffers : TBufferArray;
|
|
FBRecordCount : integer;
|
|
FBRecordCount : integer;
|
|
@@ -1265,6 +1290,7 @@ type
|
|
protected
|
|
protected
|
|
function AllocRecordBuffer: PChar; override;
|
|
function AllocRecordBuffer: PChar; override;
|
|
procedure FreeRecordBuffer(var Buffer: PChar); override;
|
|
procedure FreeRecordBuffer(var Buffer: PChar); override;
|
|
|
|
+ function GetCanModify: Boolean; override;
|
|
function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override;
|
|
function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override;
|
|
procedure InternalOpen; override;
|
|
procedure InternalOpen; override;
|
|
procedure InternalClose; override;
|
|
procedure InternalClose; override;
|
|
@@ -1284,35 +1310,6 @@ type
|
|
public
|
|
public
|
|
constructor Create(AOwner: TComponent); override;
|
|
constructor Create(AOwner: TComponent); override;
|
|
destructor Destroy; override;
|
|
destructor Destroy; override;
|
|
- published
|
|
|
|
- // redeclared data set properties
|
|
|
|
- property Active;
|
|
|
|
-// property FieldDefs stored FieldDefsStored;
|
|
|
|
- property Filter;
|
|
|
|
- property Filtered;
|
|
|
|
- property FilterOptions;
|
|
|
|
- property BeforeOpen;
|
|
|
|
- property AfterOpen;
|
|
|
|
- property BeforeClose;
|
|
|
|
- property AfterClose;
|
|
|
|
- property BeforeInsert;
|
|
|
|
- property AfterInsert;
|
|
|
|
- property BeforeEdit;
|
|
|
|
- property AfterEdit;
|
|
|
|
- property BeforePost;
|
|
|
|
- property AfterPost;
|
|
|
|
- property BeforeCancel;
|
|
|
|
- property AfterCancel;
|
|
|
|
- property BeforeDelete;
|
|
|
|
- property AfterDelete;
|
|
|
|
- property BeforeScroll;
|
|
|
|
- property AfterScroll;
|
|
|
|
- property OnCalcFields;
|
|
|
|
- property OnDeleteError;
|
|
|
|
- property OnEditError;
|
|
|
|
- property OnFilterRecord;
|
|
|
|
- property OnNewRecord;
|
|
|
|
- property OnPostError;
|
|
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
@@ -1575,7 +1572,20 @@ end.
|
|
|
|
|
|
{
|
|
{
|
|
$Log$
|
|
$Log$
|
|
- Revision 1.23 2004-08-31 09:51:27 michael
|
|
|
|
|
|
+ Revision 1.24 2004-09-26 16:55:24 michael
|
|
|
|
+ * big patch from Joost van der Sluis
|
|
|
|
+ bufdataset.inc:
|
|
|
|
+ fix getrecord (prior)
|
|
|
|
+ getcanmodify default false
|
|
|
|
+ database.inc / db.inc:
|
|
|
|
+ Added transactions
|
|
|
|
+ dataset.inc:
|
|
|
|
+ raise error if trying to insert into an readonly dataset
|
|
|
|
+ db.inc:
|
|
|
|
+ remove published properties from bufdataset
|
|
|
|
+ changed ancestor of tbufdataset to tdbdataset
|
|
|
|
+
|
|
|
|
+ Revision 1.23 2004/08/31 09:51:27 michael
|
|
+ Initial TBufDataset by Joost van der Sluis
|
|
+ Initial TBufDataset by Joost van der Sluis
|
|
|
|
|
|
Revision 1.22 2004/08/23 07:30:19 michael
|
|
Revision 1.22 2004/08/23 07:30:19 michael
|