Parse SQL statement, replacing parameter names with SQL parameter placeholders.
Source position: db.pas line 1547
public function TParams.ParseSQL( |
const SQL: string; |
DoCreate: Boolean |
):string; overload; |
const SQL: string; |
DoCreate: Boolean; |
EscapeSlash: Boolean; |
EscapeRepeat: Boolean; |
ParameterStyle: TParamStyle |
):string; overload; |
const SQL: string; |
DoCreate: Boolean; |
EscapeSlash: Boolean; |
EscapeRepeat: Boolean; |
ParameterStyle: TParamStyle; |
out ParamBinding: TParamBinding |
):string; overload; |
const SQL: string; |
DoCreate: Boolean; |
EscapeSlash: Boolean; |
EscapeRepeat: Boolean; |
ParameterStyle: TParamStyle; |
out ParamBinding: TParamBinding; |
out ReplaceString: string |
):string; overload; |
const SQL: string; |
Options: TSQLParseOptions; |
ParameterStyle: TParamStyle; |
out ParamBinding: TParamBinding; |
MacroChar: char; |
out ReplaceString: string |
):string; |
SQL |
|
SQL statement to scan for parameter names. |
DoCreate |
|
Set to True if TParam instances must be created for the found parameters. |
SQL statement with parameter names replaced with placeholders.
SQL |
|
SQL statement to scan for parameter names. |
DoCreate |
|
Set to True if TParam instances must be created for the found parameters. |
EscapeSlash |
|
True if the backslash character acts as an escape token. |
EscapeRepeat |
|
True if quotes are escaped by specifying them two times. |
ParameterStyle |
|
SQL Placeholder style. |
SQL |
|
SQL statement to scan for parameter names. |
DoCreate |
|
Set to True if TParam instances must be created for the found parameters. |
EscapeSlash |
|
True if the backslash character acts as an escape token. |
EscapeRepeat |
|
True if quotes are escaped by specifying them two times. |
ParameterStyle |
|
SQL Placeholder style. |
ParamBinding |
|
On return, filled with indexes of TParam instances corresponding to the placeholders. |
SQL |
|
SQL statement to scan for parameter names. |
DoCreate |
|
Set to True if TParam instances must be created for the found parameters. |
EscapeSlash |
|
True if the backslash character acts as an escape token. |
EscapeRepeat |
|
True if quotes are escaped by specifying them two times. |
ParameterStyle |
|
SQL Placeholder style. |
ParamBinding |
|
On return, filled with indexes of TParam instances corresponding to the placeholders. |
ReplaceString |
|
Placeholder string. |
SQL |
|
SQL statement to scan for parameter names. |
Options |
|
Contains the parser options enabled when parsing the SQL statement. |
ParameterStyle |
|
SQL Placeholder style. |
ParamBinding |
|
On return, filled with indexes of TParam instances corresponding to the placeholders. |
MacroChar |
|
Character which triggers expansion of a named macro in the SQL statement. |
ReplaceString |
|
Placeholder string. |
ParseSQl parses the SQL statement for parameter names in the form :ParamName. It replaces them with a SQL parameter placeholder. If DoCreate is True then a TParam instance is added to the collection with the found parameter name.
The parameter placeholder is determined by the ParameterStyle property, which can have the following values:
psInterbase is the default.
If the EscapeSlash parameter is True, then backslash characters are used to quote the next character in the SQL statement. If it is False, the backslash character is regarded as a normal character.
If the EscapeRepeat parameter is True (the default) then embedded quotes in string literals are escaped by repeating themselves. If it is false then they should be quoted with backslashes.
ParamBinding, if specified, is filled with the indexes of the parameter instances in the parameter collection: for each SQL parameter placeholder, the index of the corresponding TParam instance is returned in the array.
ReplaceString, if specified, contains the placeholder used for the parameter names (by default, $). It has effect only when ParameterStyle equals psSimulated.
The function returns the SQL statement with the parameter names replaced by placeholders.
|
Parameter description class. |
|
|
Name of the parameter. |
|
|
Style of parameter. |