Class TUpdateSQLProvider (unit USQLProv) |
Inherits from
TProvider
constructor Create(AOwner: TComponent);
- TUpdateSQLProvider
function ApplyUpdates(Delta: OleVariant; MaxErrors: Integer;
out ErrorCount: Integer): OleVariant;
If user scrolled the delta dataset during the update record event,
restore the current position.
procedure BindParameters(Query: TQuery; DeltaData: TDataSet; NewOnly: Boolean);
procedure GenerateUpdateSQL(DeltaData: TClientDataSet; const TableName,
TabAlias, QuoteChar: string; SQL: TStrings);
Do some crude parsing to find a table name from the select statement
procedure DoUpdate(DeltaData: TDeltaDataSet; Database: TDatabase);
Updating
function GetQuoteChar(Database: TDatabase): string;
SQL Generation
function GetTableName: string;
function HandleUpdateError(DeltaData: TDeltaDataSet; E: EDatabaseError;
var MaxErrors, ErrorCount: Integer): Boolean;
Include conflicting values if any
procedure InitializeConflictBuffer(DeltaData: TDeltaDataSet; ErrCode: Integer);
Error Handling
procedure LogUpdateError(DeltaData: TDeltaDataSet; E: EUpdateError;
Response: TResolverResponse);
function GetSQLIndex(Index: Integer): TStrings;
procedure SetSQLIndex(Index: Integer; Value: TStrings);
property DeleteSQL : TStrings
property InsertSQL : TStrings
property ModifySQL : TStrings
property SQLGenOptions : TSQLGenOptions
property TableName : string
property UpdateSQL : TUpdateSQL
event OnUpdateRecord : TUpdateRecordEvent
FConflictTab : TTable;
FDeltaData : TDeltaDataSet;
FOnUpdateRecord : TUpdateRecordEvent;
FPrevErrCode : DBIResult;
FPrevResponse : TResolverResponse;
FResultData : TResultDataSet;
FSQLGenOptions : TSQLGenOptions;
FTableName : string;
FUpdateSQL : TUpdateSQL;
constructor Create(AOwner: TComponent);
TUpdateSQLProvider
function ApplyUpdates(Delta: OleVariant; MaxErrors: Integer;
out ErrorCount: Integer): OleVariant;
If user scrolled the delta dataset during the update record event,
restore the current position.
procedure BindParameters(Query: TQuery; DeltaData: TDataSet; NewOnly: Boolean);
procedure GenerateUpdateSQL(DeltaData: TClientDataSet; const TableName,
TabAlias, QuoteChar: string; SQL: TStrings);
Do some crude parsing to find a table name from the select statement
procedure DoUpdate(DeltaData: TDeltaDataSet; Database: TDatabase);
Updating
function GetQuoteChar(Database: TDatabase): string;
SQL Generation
function GetTableName: string;
function HandleUpdateError(DeltaData: TDeltaDataSet; E: EDatabaseError;
var MaxErrors, ErrorCount: Integer): Boolean;
Include conflicting values if any
procedure InitializeConflictBuffer(DeltaData: TDeltaDataSet; ErrCode: Integer);
Error Handling
procedure LogUpdateError(DeltaData: TDeltaDataSet; E: EUpdateError;
Response: TResolverResponse);
function GetSQLIndex(Index: Integer): TStrings;
procedure SetSQLIndex(Index: Integer; Value: TStrings);
property DeleteSQL : TStrings
property InsertSQL : TStrings
property ModifySQL : TStrings
property SQLGenOptions : TSQLGenOptions
property TableName : string
property UpdateSQL : TUpdateSQL
event OnUpdateRecord : TUpdateRecordEvent
FConflictTab : TTable;
FDeltaData : TDeltaDataSet;
FOnUpdateRecord : TUpdateRecordEvent;
FPrevErrCode : DBIResult;
FPrevResponse : TResolverResponse;
FResultData : TResultDataSet;
FSQLGenOptions : TSQLGenOptions;
FTableName : string;
FUpdateSQL : TUpdateSQL;