1 |
Script Engine Playground |
2 |
======================== |
3 |
|
4 |
This example application illustrates use of the TIBXScript SQL script engine. It works with |
5 |
the example employee database and comes with various test scripts to illustrate how it works. |
6 |
These are all located in the "tests" directory. |
7 |
|
8 |
Compile and run the application after first ensuring that the example employee database is |
9 |
available on the local server. If it is on a remote server, then you will have to adjust |
10 |
the IBDatabase1.DatabaseName property accordingly. |
11 |
|
12 |
You can just type SQL queries into the left hand text box and click on "Execute" to |
13 |
run them. The results appear in the right hand text box. Select queries are supported |
14 |
by opening a new dynamically created window with a grid containing the query results. This |
15 |
window is non-modal and multiple query results can be shown simultaneously. The grid |
16 |
is a TIBDynamicGrid and clicking on the column header will resort the grid using the |
17 |
selected column. |
18 |
|
19 |
The test scripts are loaded in the left hand text box by clicking on the "Load Script" |
20 |
button. The scripts are: |
21 |
|
22 |
1. CreateCountriesTable.sql |
23 |
|
24 |
This adds a new table "COUNTRIES" to the employee database and then populates |
25 |
it with country data including the country name and ISO2 and 3 character shortnames. |
26 |
|
27 |
2. CreateCountriesTablewithError.sql |
28 |
|
29 |
This does the same as the above, except that the first insert statement contains |
30 |
a syntax error. It may be used to experiment with the "Stop on First Error" checkbox, |
31 |
and shows how the script engine can recover and continue from (some) syntax errors. |
32 |
|
33 |
3. DeptListView.sql |
34 |
|
35 |
This script adds a complex View to the database and tests the script engine in complex |
36 |
scenarios, such as recursive queries. |
37 |
|
38 |
4. createproc.sql |
39 |
|
40 |
This script adds three simple stored procedures. It demonstrates the different ways |
41 |
that procedure bodies can be declared (ISQL compatible, standard terminator and no |
42 |
terminator). Use of comments is also demonstrated. |
43 |
|
44 |
5. ParameterisedQueries.sql |
45 |
|
46 |
This script demonstrates the use of IBX style query parameters for BLOB columns. |
47 |
In this case a new column "Image" is added to the COUNTRY Table and an image in |
48 |
png format (the flag of St George) is added to the entry for England. The value |
49 |
of the Image column is given by a parameter ":MyImage". This is resolved by the a |
50 |
pplication which asks for the file containing the image to be placed in the field. |
51 |
You should locate and return the "flag_en.png" file. |
52 |
|
53 |
Note that the interactive resolution of the parameter is an example. The parameter |
54 |
resolution is carried out by an event handler that could, for example, |
55 |
have looked for a file which might conventionally have been called "MyImage.bin" |
56 |
to correspond to the query parameter. |
57 |
|
58 |
6. Reverseall.sql |
59 |
|
60 |
Reverses out the above. |
61 |
|
62 |
7. SelectQuery.sql |
63 |
|
64 |
Illustrates handling of select queries. |
65 |
|
66 |
|
67 |
|