Description | Hierarchy | Fields | Methods | Properties |
type TSqlitePassDataset = class(TDataSet)
The TSqlitePassDataset
is a link between your application and the database content. TSqlitePassDataset
enables you to access tables, queries, views or even to create direct SQL queries to read and write data from/to your database. It supports almost any kind of fields, including blobs, memo, datetime...etc, and has extended capabilities to quickly sort, filter records (even on calculated or lookup fiels). Locate and Lookup is also implemented with some additional methods.
![]() |
Constructor Create(AOwner: TComponent); override; |
![]() |
Destructor Destroy; override; |
![]() |
Function BookmarkValid(Bookmark: TBookmark): Boolean; override; |
![]() |
Function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer; override; |
![]() |
Function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; override; |
![]() |
Function GetFieldData(Field: TField; Buffer: Pointer): Boolean; override; |
![]() |
function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean; override; |
![]() |
function LocateFirst: Boolean; |
![]() |
function LocateLast: Boolean; |
![]() |
function LocateNext: Boolean; |
![]() |
function LocatePrior: Boolean; |
![]() |
function Lookup(const KeyFields: String; const KeyValues: Variant; const ResultFields: String): Variant; override; |
![]() |
function LookupFirst: Variant; |
![]() |
function LookUpLast: Variant; |
![]() |
function LookupNext: Variant; |
![]() |
function LookupPrior: Variant; |
![]() |
Function AllocRecordBuffer: PRecBuffer; override; |
![]() |
function FindRecord(Restart, GoForward: Boolean): Boolean; override; |
![]() |
Function GetBookmarkFlag(Buffer: PRecBuffer): TBookmarkFlag; override; |
![]() |
Function GetCanModify: Boolean; override; |
![]() |
Function GetParamsCount: Integer; |
![]() |
Function GetRecNo: Integer; override; |
![]() |
Function GetRecord(Buffer: PRecBuffer; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override; |
![]() |
Function GetRecordCount: Integer; override; |
![]() |
Function GetRecordSize: Word; override; |
![]() |
Function IsCursorOpen: Boolean; override; |
![]() |
Procedure ApplyChanges; |
![]() |
Procedure CancelChanges; |
![]() |
procedure CloseBlob(Field: TField); override; |
![]() |
Procedure EmptyTable; |
![]() |
Procedure Refresh; |
![]() |
Procedure Sort; |
![]() |
procedure AllocateBLOBPointers(Buffer: pAnsiChar); |
![]() |
Procedure ClearCalcFields(Buffer: PRecBuffer); override; |
![]() |
Procedure DefineProperties(Filer: TFiler); override; |
![]() |
procedure DoOnNewRecord; override; |
![]() |
procedure FreeBlobPointers(Buffer: pAnsiChar); |
![]() |
Procedure FreeRecordBuffer(var Buffer: PRecBuffer); override; |
![]() |
procedure FreeRecordPointers(Buffer: pAnsiChar); |
![]() |
Procedure GetBookmarkData(Buffer: pAnsiChar; Data: Pointer); override; |
![]() |
Procedure InternalAddRecord(Buffer: Pointer; Append: Boolean); override; |
![]() |
Procedure InternalCancel; override; |
![]() |
Procedure InternalClearFieldDefs; |
![]() |
Procedure InternalClose; override; |
![]() |
Procedure InternalDelete; override; |
![]() |
Procedure InternalEdit; override; |
![]() |
Procedure InternalFirst; override; |
![]() |
Procedure InternalGotoBookmark(ABookmark: Pointer); override; |
![]() |
Procedure InternalHandleException; override; |
![]() |
Procedure InternalInitFieldDefs; override; |
![]() |
Procedure InternalInitIndexDefs; |
![]() |
Procedure InternalInitRecord(Buffer: PRecBuffer); override; |
![]() |
procedure InternalInsert; override; |
![]() |
Procedure InternalLast; override; |
![]() |
Procedure InternalOpen; override; |
![]() |
Procedure InternalPost; override; |
![]() |
Procedure InternalRefresh; override; |
![]() |
Procedure InternalSetToRecord(Buffer: PRecBuffer); override; |
![]() |
Procedure Loaded; override; |
![]() |
Procedure Notification(AComponent: TComponent; Operation: TOperation); Override; |
![]() |
procedure ParseFilterText(const Value: String); |
![]() |
Procedure ReadParamData(Reader: TReader); |
![]() |
Procedure RefreshActive; |
![]() |
Procedure RefreshFilteredRecords(RefreshData: Boolean); |
![]() |
Procedure SetBookmarkData(Buffer: pAnsiChar; Data: Pointer); override; |
![]() |
Procedure SetBookmarkFlag(Buffer: PRecBuffer; Value: TBookmarkFlag); override; |
![]() |
Procedure SetFieldData(Field: TField; Buffer: Pointer); override; |
![]() |
procedure SetFiltered(Value: Boolean); override; |
![]() |
procedure SetFilterText(Const Value: String); override; |
![]() |
Procedure SetParamsList(Value: TParams); |
![]() |
Procedure SetRecNo(Value: Integer); override; |
![]() |
Procedure UpdateIndexDefs; override; |
![]() |
Procedure UpdateInternalFieldsInfos; |
![]() |
Procedure UpdateParamsList; |
![]() |
Procedure WriteParamData(Writer: TWriter); |
![]() |
property Active; |
![]() |
property AfterCancel; |
![]() |
property AfterClose; |
![]() |
property AfterDelete; |
![]() |
property AfterEdit; |
![]() |
property AfterInsert; |
![]() |
property AfterOpen; |
![]() |
property AfterPost; |
![]() |
property AfterScroll; |
![]() |
property AutoCalcFields; |
![]() |
property BeforeCancel; |
![]() |
property BeforeClose; |
![]() |
property BeforeDelete; |
![]() |
property BeforeEdit; |
![]() |
property BeforeInsert; |
![]() |
property BeforeOpen; |
![]() |
property BeforePost; |
![]() |
property BeforeScroll; |
![]() |
property Database: TSqlitePassDatabase Read GetFDatabase Write SetFDatabase; |
![]() |
property DatabaseAutoActivate: Boolean Read FDatabaseAutoActivate Write FDatabaseAutoActivate; |
![]() |
property DatasetName: String Read FDatasetName Write SetFDatasetName; |
![]() |
property DatasetType: TSqlitePassDatasetType Read FDatasetType; |
![]() |
property ExportMethod: TSqlitePassDatasetExportMethod Read FExportMethod Write FExportMethod; |
![]() |
property Filter; |
![]() |
property Filtered; |
![]() |
property FilterMode: TSqlitePassFilterMode Read FFilterMode Write FFilterMode; |
![]() |
property FilterOptions; |
![]() |
property FilterRecordLowerLimit: Cardinal Read FFilterRecordLowerLimit Write SetFFilterRecordLowerLimit; |
![]() |
property FilterRecordUpperLimit: Cardinal Read FFilterRecordUpperLimit Write setFFilterRecordUpperLimit; |
![]() |
property Filters: TSqlitePassFieldFilters Read FFieldFilters Write FFieldFilters; |
![]() |
property IndexDefs: TSqlitePassDatasetIndexDefs Read FIndexDefs Write FIndexDefs; |
![]() |
property LocateMoveState: TGetResult read FLocateMoveState; |
![]() |
property LocateRecordCount: Integer Read GetLocateRecordCount; |
![]() |
property LocateSmartRefresh: Boolean Read FLocateSmartRefresh Write FLocateSmartRefresh; |
![]() |
property LookUpCache: Boolean Read FLookUpCache Write SetFLookUpCache; |
![]() |
property LookUpMaxRecordCount: Integer Read FLookUpMaxRecordCount Write FLookUpMaxRecordCount; |
![]() |
property LookUpOptions: TLocateOptions Read FLookUpOptions Write FLookUpOptions; |
![]() |
property LookUpSmartRefresh: Boolean Read FLookUpSmartRefresh Write FLookUpSmartRefresh; |
![]() |
property MasterFields: String read GetMasterFields write SetMasterFields; |
![]() |
property MasterSource: TDataSource read GetMasterDataSource write SetMasterDataSource; |
![]() |
property MasterSourceAutoActivate: Boolean read FMasterAutoActivate write FMasterAutoActivate; |
![]() |
property OnCalcFields; |
![]() |
property OnDeleteError; |
![]() |
property OnEditError; |
![]() |
property OnExportProgress: TSqlitePassDatasetExportProgressEvent Read FOnExportProgress Write FOnExportProgress; |
![]() |
property OnFilterRecord : TSqlitePassDatasetFilterRecordEvent read FOnFilterRecord write FOnFilterRecord; |
![]() |
property OnImportProgress: TSqlitePassDatasetImportProgressEvent Read FOnImportProgress Write FOnImportProgress; |
![]() |
property OnNewRecord; |
![]() |
property OnPostError; |
![]() |
property ParamCheck: Boolean Read FParamCheck Write FParamCheck; |
![]() |
property ParamCount: Integer read GetParamsCount; |
![]() |
property Params: TParams read FParams Write SetParamsList Stored False; |
![]() |
property ProcessMessages: Boolean Read FProcessMessages Write FProcessMessages; |
![]() |
property ReadOnly: Boolean Read GetFReadOnly Write SetFReadOnly default False; |
![]() |
property RecordsCacheCapacity: TSqlitePassRecordsCacheCapacity Read FRecordsCacheCapacity Write FRecordsCacheCapacity; |
![]() |
property SortCalcFields: Boolean Read FSortCalcFields Write SetFSortCalcFields; |
![]() |
property Sorted: Boolean Read FSorted Write SetFSorted; |
![]() |
property SortedBy: String Read FSortedBy Write SetFSortedBy; |
![]() |
property SortMode: TSqlitePassSortMode Read FSortMode Write SetFSortMode; |
![]() |
property SQL: TStringList Read FSQL Write SetFSQL; |
![]() |
property SQLSelectStmt: TSqlitePassSelectStmt Read FSQLSelectStmt; |
![]() |
property VersionInfo: TSqlitePassDatasetVersionInfo Read FVersionInfo Write FVersionInfo; |
![]() |
property WriteMode: TSqlitePassWriteMode Read FWriteMode Write SetFWriteMode; |
![]() |
Constructor Create(AOwner: TComponent); override; |
—– Constructor - Destructor —– |
![]() |
Destructor Destroy; override; |
![]() |
Function BookmarkValid(Bookmark: TBookmark): Boolean; override; |
—– Bookmarks —– |
![]() |
Function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer; override; |
![]() |
Function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; override; |
Classic TDataset behavior |
![]() |
Function GetFieldData(Field: TField; Buffer: Pointer): Boolean; override; |
—– —– |
![]() |
function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean; override; |
The |
![]() |
function LocateFirst: Boolean; |
Moves to the first record matching locate parameters |
![]() |
function LocateLast: Boolean; |
Moves to the last record matching locate parameters |
![]() |
function LocateNext: Boolean; |
Moves to the next record matching locate parameters. |
![]() |
function LocatePrior: Boolean; |
Moves to the prior record matching locate parameters |
![]() |
function Lookup(const KeyFields: String; const KeyValues: Variant; const ResultFields: String): Variant; override; |
The |
![]() |
function LookupFirst: Variant; |
Moves to the first record matching lookup parameters |
![]() |
function LookUpLast: Variant; |
Moves to the last record matching lookup parameters |
![]() |
function LookupNext: Variant; |
Moves to the next record matching lookup parameters |
![]() |
function LookupPrior: Variant; |
Moves to the prior record matching lookup parameters |
![]() |
Function AllocRecordBuffer: PRecBuffer; override; |
![]() |
function FindRecord(Restart, GoForward: Boolean): Boolean; override; |
![]() |
Function GetBookmarkFlag(Buffer: PRecBuffer): TBookmarkFlag; override; |
Procedure InternalMoveToBookmark(Bookmark: Pointer); |
![]() |
Function GetCanModify: Boolean; override; |
![]() |
Function GetParamsCount: Integer; |
![]() |
Function GetRecNo: Integer; override; |
![]() |
Function GetRecord(Buffer: PRecBuffer; GetMode: TGetMode; DoCheck: Boolean): TGetResult; override; |
![]() |
Function GetRecordCount: Integer; override; |
—– Records infos —– |
![]() |
Function GetRecordSize: Word; override; |
Ok v1.00 |
![]() |
Function IsCursorOpen: Boolean; override; |
![]() |
Procedure ApplyChanges; |
—– Apply or Cancel records modification if WriteMode is wmPostpone —– |
![]() |
Procedure CancelChanges; |
![]() |
procedure CloseBlob(Field: TField); override; |
Classic TDataset behavior |
![]() |
Procedure EmptyTable; |
![]() |
Procedure Refresh; |
![]() |
Procedure Sort; |
Sorts the dataset using the fields and |
![]() |
procedure AllocateBLOBPointers(Buffer: pAnsiChar); |
—– Blobs —– |
![]() |
Procedure ClearCalcFields(Buffer: PRecBuffer); override; |
![]() |
Procedure DefineProperties(Filer: TFiler); override; |
![]() |
procedure DoOnNewRecord; override; |
![]() |
procedure FreeBlobPointers(Buffer: pAnsiChar); |
![]() |
Procedure FreeRecordBuffer(var Buffer: PRecBuffer); override; |
![]() |
procedure FreeRecordPointers(Buffer: pAnsiChar); |
![]() |
Procedure InternalAddRecord(Buffer: Pointer; Append: Boolean); override; |
—– Navigation and Editing —– |
![]() |
Procedure InternalCancel; override; |
![]() |
Procedure InternalClearFieldDefs; |
![]() |
Procedure InternalClose; override; |
![]() |
Procedure InternalDelete; override; |
![]() |
Procedure InternalEdit; override; |
![]() |
Procedure InternalFirst; override; |
![]() |
Procedure InternalGotoBookmark(ABookmark: Pointer); override; |
—– Bookmarks —– |
![]() |
Procedure InternalHandleException; override; |
—– Miscalleous —– |
![]() |
Procedure InternalInitFieldDefs; override; |
![]() |
Procedure InternalInitIndexDefs; |
![]() |
Procedure InternalInitRecord(Buffer: PRecBuffer); override; |
![]() |
procedure InternalInsert; override; |
![]() |
Procedure InternalLast; override; |
![]() |
Procedure InternalOpen; override; |
![]() |
Procedure InternalPost; override; |
![]() |
Procedure InternalRefresh; override; |
![]() |
Procedure InternalSetToRecord(Buffer: PRecBuffer); override; |
![]() |
Procedure Loaded; override; |
—– Override methods from TDataset —– |
![]() |
Procedure Notification(AComponent: TComponent; Operation: TOperation); Override; |
![]() |
procedure ParseFilterText(const Value: String); |
![]() |
Procedure ReadParamData(Reader: TReader); |
![]() |
Procedure RefreshActive; |
Fetch data from physical Database |
![]() |
Procedure RefreshFilteredRecords(RefreshData: Boolean); |
—– Filtering —– |
![]() |
Procedure SetBookmarkData(Buffer: pAnsiChar; Data: Pointer); override; |
![]() |
Procedure SetBookmarkFlag(Buffer: PRecBuffer; Value: TBookmarkFlag); override; |
From TDataset |
![]() |
Procedure SetFieldData(Field: TField; Buffer: Pointer); override; |
![]() |
procedure SetFiltered(Value: Boolean); override; |
![]() |
procedure SetFilterText(Const Value: String); override; |
![]() |
Procedure SetParamsList(Value: TParams); |
—– Params —– |
![]() |
Procedure SetRecNo(Value: Integer); override; |
![]() |
Procedure UpdateIndexDefs; override; |
![]() |
Procedure UpdateInternalFieldsInfos; |
![]() |
Procedure UpdateParamsList; |
![]() |
Procedure WriteParamData(Writer: TWriter); |
![]() |
property AfterCancel; |
![]() |
property AfterClose; |
![]() |
property AfterDelete; |
![]() |
property AfterEdit; |
![]() |
property AfterInsert; |
![]() |
property AfterOpen; |
![]() |
property AfterPost; |
![]() |
property AfterScroll; |
![]() |
property AutoCalcFields; |
— |
![]() |
property BeforeCancel; |
![]() |
property BeforeClose; |
![]() |
property BeforeDelete; |
![]() |
property BeforeEdit; |
![]() |
property BeforeInsert; |
![]() |
property BeforeOpen; |
— |
![]() |
property BeforePost; |
![]() |
property BeforeScroll; |
![]() |
property Database: TSqlitePassDatabase Read GetFDatabase Write SetFDatabase; |
Selects the TsqlitePassDatabase component you want to depend on. |
![]() |
property DatabaseAutoActivate: Boolean Read FDatabaseAutoActivate Write FDatabaseAutoActivate; |
When set to True, opens automatically the database if needed. |
![]() |
property DatasetName: String Read FDatasetName Write SetFDatasetName; |
Once you are connected to a database, enters a table name or a query name. At design time, a dialog will let you choose your dataset among all the available database datasets. |
![]() |
property DatasetType: TSqlitePassDatasetType Read FDatasetType; |
This property is read only. It gives you information about the currently selected dataset and can be one of the following values : dtUnkown : The dataset type could not be recognized or the DatasetName property is empty. dtTable : The dataset is a table. dtQuery : The dataset is a query. dtView : The dataset is a view. dtSqlDirect : The SQL property has been modified or you entered a new SQL query. When the SQL text is changed, the DatasetName will automatically be set to '' assuming that the DatasetName and SQL text don't match anymore. |
![]() |
property ExportMethod: TSqlitePassDatasetExportMethod Read FExportMethod Write FExportMethod; |
To be implemented |
![]() |
property Filter; |
This dataset allows many kinds of filtering features that will be applied in this priority to the retrieved data :
As described, the The goal of the 2nd part is to provide filtering on calculated fields The 1st part : follows the classic dataset Example 2 : '=' operator has a special syntax supporting multiple values separated with comma MyDataset.Filter := MyField1 = 1, 10, 20, 30; MyField2 <> 5; MyField7 NotNull; For Boolean fields ComparisonOp : '=' Value : True or False Example 1 : MyDataset.Filter := MyField1 = True; MyField2 = False; For Text fields (including Memo) ComparisonOp : '=, <>, >, >=, <=, <, Null, NotNull' '=' and '<>' accept '%' or '*' wildcard char. You can use *YourText or %YourText* or YourText% as TextPattern Example 1 : MyDataset.Filter := MyField1 = %Pasc%; MyField3 NotNull; For Date, Time, DateTime fields ComparisonOp : '=, <>, >, >=, <=, <, Null, NotNull' Value = numeric or empty (with Null and NotNull) DateFormat : #DD-MM-YYYY# TimeFormat : #hh:mm:ss[.zzz]# DateTimeFormat : #DD-MM-YYYY hh:mm:ss[.zzz]# Note : '#' can be replaced by single or double quote Example 1 : MyDataset.Filter := MyField1 = #22-02-2008#; MyField3 NotNull; |
![]() |
property Filtered; |
Determines whether or not the different filters are activated. The TsqlitePassDataset component can handle three filter levels that will be applied in this priority order : 1 : MasterFields/DetailFields property 2 : Filter property 3 : RecordLowerLimit/RecordUpperLimit properties |
![]() |
property FilterMode: TSqlitePassFilterMode Read FFilterMode Write FFilterMode; |
Can take one of the following values :
See also
|
![]() |
property FilterOptions; |
foCaseInsensitive and foNoPartialCompare applies both to SQL and Internal Filters |
![]() |
property FilterRecordLowerLimit: Cardinal Read FFilterRecordLowerLimit Write SetFFilterRecordLowerLimit; |
|
![]() |
property FilterRecordUpperLimit: Cardinal Read FFilterRecordUpperLimit Write setFFilterRecordUpperLimit; |
If greater than 1, the -nth first records will be retrieved. In other words, if FilterUpperLimit = 4 and FilterLowerLimit = 0 then only the four first records will be retrieved from the query. If lesser than 0, the -nth last records will be retrieved. In other words, if FilterUpperLimit = -9 and FilterLowerLimit = 0 then only the nine last records will be retrieved from the query. |
![]() |
property Filters: TSqlitePassFieldFilters Read FFieldFilters Write FFieldFilters; |
A list of internal |
![]() |
property IndexDefs: TSqlitePassDatasetIndexDefs Read FIndexDefs Write FIndexDefs; |
The |
![]() |
property LocateMoveState: TGetResult read FLocateMoveState; |
Returns the state of the last move when locating a record |
![]() |
property LocateRecordCount: Integer Read GetLocateRecordCount; |
Returns the total number records matching the locate link(SqlitePassDataset.Locate) arguments |
![]() |
property LocateSmartRefresh: Boolean Read FLocateSmartRefresh Write FLocateSmartRefresh; |
When set to TRUE, Located records list is updated every time data is refetched from database. If FALSE, the located records list is not synchronized : Located records are lost when data is refetched |
![]() |
property LookUpCache: Boolean Read FLookUpCache Write SetFLookUpCache; |
Activate or disactivate the |
![]() |
property LookUpMaxRecordCount: Integer Read FLookUpMaxRecordCount Write FLookUpMaxRecordCount; |
The |
![]() |
property LookUpOptions: TLocateOptions Read FLookUpOptions Write FLookUpOptions; |
loCaseInsensitive, loPartialKey options used when lookup'ing' records |
![]() |
property LookUpSmartRefresh: Boolean Read FLookUpSmartRefresh Write FLookUpSmartRefresh; |
To be implemented |
![]() |
property MasterFields: String read GetMasterFields write SetMasterFields; |
Classic table At design time, a dialog will let you create or modify the relation between A relation is defined like this : MasterFieldName=DetailFieldName If you want set several relations, they must be separated by a ';' MasterFieldName1=DetailFieldName1;MasterFieldName2=DetailFieldName2 |
![]() |
property MasterSource: TDataSource read GetMasterDataSource write SetMasterDataSource; |
Classic table |
![]() |
property MasterSourceAutoActivate: Boolean read FMasterAutoActivate write FMasterAutoActivate; |
When set to TRUE, the dataset will try to automatically open the master dataource if necessary |
![]() |
property OnCalcFields; |
![]() |
property OnDeleteError; |
![]() |
property OnEditError; |
![]() |
property OnExportProgress: TSqlitePassDatasetExportProgressEvent Read FOnExportProgress Write FOnExportProgress; |
Additionnal Events |
![]() |
property OnFilterRecord : TSqlitePassDatasetFilterRecordEvent read FOnFilterRecord write FOnFilterRecord; |
![]() |
property OnImportProgress: TSqlitePassDatasetImportProgressEvent Read FOnImportProgress Write FOnImportProgress; |
![]() |
property OnNewRecord; |
![]() |
property OnPostError; |
![]() |
property ParamCheck: Boolean Read FParamCheck Write FParamCheck; |
Not used - TODO |
![]() |
property ParamCount: Integer read GetParamsCount; |
To be properly implemented |
![]() |
property Params: TParams read FParams Write SetParamsList Stored False; |
Not used - TODO |
![]() |
property ProcessMessages: Boolean Read FProcessMessages Write FProcessMessages; |
Not used - TODO |
![]() |
property ReadOnly: Boolean Read GetFReadOnly Write SetFReadOnly default False; |
![]() |
property RecordsCacheCapacity: TSqlitePassRecordsCacheCapacity Read FRecordsCacheCapacity Write FRecordsCacheCapacity; |
Set the number of records that can fit within one memory bloc before the need to allocate a new records memory bloc. Using a larger |
![]() |
property SortCalcFields: Boolean Read FSortCalcFields Write SetFSortCalcFields; |
![]() |
property Sorted: Boolean Read FSorted Write SetFSorted; |
Determines whether or not the sortedBy property is activated. |
![]() |
property SortedBy: String Read FSortedBy Write SetFSortedBy; |
The |
![]() |
property SortMode: TSqlitePassSortMode Read FSortMode Write SetFSortMode; |
Can take one of the following values :
See also
|
![]() |
property SQL: TStringList Read FSQL Write SetFSQL; |
For tables, it will automatically be set to :
For queries, it will reflect the query |
![]() |
property SQLSelectStmt: TSqlitePassSelectStmt Read FSQLSelectStmt; |
The internal schema of the current SQL statement. It gives you access to advanced information - read only |
![]() |
property VersionInfo: TSqlitePassDatasetVersionInfo Read FVersionInfo Write FVersionInfo; |
Returns the dataset component version number |
![]() |
property WriteMode: TSqlitePassWriteMode Read FWriteMode Write SetFWriteMode; |