[Overview][Constants][Types][Classes][Procedures and functions][Index] Reference for unit 'db' (#fcl)

TParams.ParseSQL

Parse SQL statement, replacing parameter names with SQL parameter placeholders

Declaration

Source position: line 0

public function TParams.ParseSQL(

  SQL: String;

  DoCreate: Boolean

):String; overload;

function TParams.ParseSQL(

  SQL: String;

  DoCreate: Boolean;

  EscapeSlash: Boolean;

  EscapeRepeat: Boolean;

  ParameterStyle: TParamStyle

):String; overload;

function TParams.ParseSQL(

  SQL: String;

  DoCreate: Boolean;

  EscapeSlash: Boolean;

  EscapeRepeat: Boolean;

  ParameterStyle: TParamStyle;

  var ParamBinding: TParamBinding

):String; overload;

function TParams.ParseSQL(

  SQL: String;

  DoCreate: Boolean;

  EscapeSlash: Boolean;

  EscapeRepeat: Boolean;

  ParameterStyle: TParamStyle;

  var ParamBinding: TParamBinding;

  var ReplaceString: String

):String; overload;

Arguments

SQL

  

SQL statement to scan for parameter names

DoCreate

  

Set to True if TParam instances must be created for the found parameters.

Function result

SQL statement with parameter names replaced with placeholders

Arguments

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

Function result

SQL statement with parameter names replaced with placeholders

Arguments

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

Function result

SQL statement with parameter names replaced with placeholders

Arguments

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.

Function result

SQL statement with parameter names replaced with placeholders

Description

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
Parameters are specified by a ? character
psPostgreSQL
Parameters are specified by a $N character.
psSimulated
Parameters are specified by a $N character.

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.

See also

TParam

  

Parameter description class

TParam.Name

  

Name of the parameter

TParamStyle

  

Style of parameter

The latest version of this document can be found at lazarus-ccr.sourceforge.net.