![2012253 | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/08/2012253.jpg?resize=1140%2C694&ssl=1)
Escape sequences allow for writing DBMS-independent SQL commands. The sample predefines some escape function sequences. To execute a predefined escape function, right-click the Function edit box and choose a predefined escape function from the popup menu. Moreover, the sample allows you to write your own function. To this end, write text into the Function edit box and press Enter. Then, the sample uses the Prepare, Define, Open and Fetch methods of the IFDPhysCommand interface to process the escape function command text. Note: Go to the following page to see the syntax of the escape function sequences.
Table of Contents
Location
You can find the EscapeFunctions sample project at:
- Start | Programs | Embarcadero RAD Studio Sydney | Samples and then navigate to:
Object PascalDatabaseFireDACSamplesPhys LayerIFDPhysCommandEscapeFunctions
- Subversion Repository:
- You can find Delphi code samples in GitHub Repositories. Search by name into the samples repositories according to your RAD Studio version.
How to Use the Sample
- Navigate to the location given above and open
EscapeFunctionsdproj
. - Press F9 or choose Run > Run.
- Interact with the sample:
- Right-click the Function edit box and select a predefined escape function sequence.
- Write your own escape function and press Enter.
![Escape | Embarcadero RAD Studio Delphi C++Builder Blogs](https://i0.wp.com/blogs.embarcadero.com/wp-content/uploads/2020/11/Escape.png?resize=750%2C404&ssl=1)
Files
File in Delphi | Contains |
---|---|
EscapeFunctions.dproj EscapeFunctions.dpr | The project itself. |
fEscapeFunctions.pas fEscapeFunctions.fmx | The main form. |
Implementation
To preset the escape function sequences, the sample configures the following components at design time using the Object Inspector:
- A TPopupMenu object named pmnFunc.The sample sets the Items property of this object with a menu of several predefined escape function sequences.
- A TLabeledEdit object labeled as Function.The sample sets the PopupMenu property of the component to
pmnFunc
at design time. This setup allows you to choose a predefined escape function sequence in run time. To this end, right-click inside the edit box to see the popup menu. Then, choose a predefined escape function from the menu.
Moreover, when you run the application, you can interact with the sample using the following objects:
- A TComboBox object labeled as Use Connection Definition.Click the Use Connection Definition combo box and select an option in order to define a connection to a database. The menu shows all the persistent connections defined on the file
C:UsersPublicDocumentsEmbarcaderoStudioFireDACFDConnectionDefs.ini
. When the connection is defined, the sample uses the CreateCommand method of IFDPhysConnection to create a command interface. Then, the sample enables the edit boxes labeled as: Function, SQL string and Result.
- A TLabeledEdit object labeled as Function.The sample uses this object to let you choose/write an escape function sequence:
- To choose a predefined escape function, right-click inside the edit box to see the popup menu. Then, choose a predefined escape function.
- To write an escape function, type your own command text inside the edit box and press Enter.
- A TLabeledEdit object labeled as SQL string.The sample uses this edit box to show the
SELECT
command text that is executed. The Command text is the following:'select distinct {fn %s} from {id test_free}'
, where%s
corresponds to the escape function selected/written in the Function edit box. - A TLabeledEdit object labeled as Result.The sample uses this edit box to show the result of the escape function execution.
In the link below you will redirected to the original post of Embarcadero:
http://docwiki.embarcadero.com/CodeExamples/Sydney/en/FireDAC.IFDPhysCommand.EscapeFunctions_Sample
Design. Code. Compile. Deploy.
Start Free Trial Upgrade Today
Free Delphi Community Edition Free C++Builder Community Edition