| Class TUpdateSQLProvider (unit USQLProv) |
TProvider
| Constructors |
constructor Create(AOwner: TComponent);| Functions |
function ApplyUpdates(Delta: OleVariant; MaxErrors: Integer;
out ErrorCount: Integer): OleVariant;
procedure BindParameters(Query: TQuery; DeltaData: TDataSet; NewOnly: Boolean);
procedure GenerateUpdateSQL(DeltaData: TClientDataSet; const TableName,
TabAlias, QuoteChar: string; SQL: TStrings);
procedure DoUpdate(DeltaData: TDeltaDataSet; Database: TDatabase);
function GetQuoteChar(Database: TDatabase): string;
function GetTableName: string;
function HandleUpdateError(DeltaData: TDeltaDataSet; E: EDatabaseError;
var MaxErrors, ErrorCount: Integer): Boolean;
procedure InitializeConflictBuffer(DeltaData: TDeltaDataSet; ErrCode: Integer);
procedure LogUpdateError(DeltaData: TDeltaDataSet; E: EUpdateError;
Response: TResolverResponse);
function GetSQLIndex(Index: Integer): TStrings;
procedure SetSQLIndex(Index: Integer; Value: TStrings);| Properties |
property DeleteSQL : TStrings
property InsertSQL : TStrings
property ModifySQL : TStrings
property SQLGenOptions : TSQLGenOptions
property TableName : string
property UpdateSQL : TUpdateSQL| Events |
event OnUpdateRecord : TUpdateRecordEvent| Variables |
FConflictTab : TTable;
FDeltaData : TDeltaDataSet;
FOnUpdateRecord : TUpdateRecordEvent;
FPrevErrCode : DBIResult;
FPrevResponse : TResolverResponse;
FResultData : TResultDataSet;
FSQLGenOptions : TSQLGenOptions;
FTableName : string;
FUpdateSQL : TUpdateSQL;| Constructors |
constructor Create(AOwner: TComponent);TUpdateSQLProvider
| Functions |
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);| Properties |
property DeleteSQL : TStrings
property InsertSQL : TStrings
property ModifySQL : TStrings
property SQLGenOptions : TSQLGenOptions
property TableName : string
property UpdateSQL : TUpdateSQL| Events |
event OnUpdateRecord : TUpdateRecordEvent| Variables |
FConflictTab : TTable;
FDeltaData : TDeltaDataSet;
FOnUpdateRecord : TUpdateRecordEvent;
FPrevErrCode : DBIResult;
FPrevResponse : TResolverResponse;
FResultData : TResultDataSet;
FSQLGenOptions : TSQLGenOptions;
FTableName : string;
FUpdateSQL : TUpdateSQL;