Occurs immediately before a SQL statement is submitted to the DBMS.
Event ID |
Objects |
---|---|
None |
Transaction objects |
Argument |
Description |
---|---|
sqlfunc |
The SQLFunction system enumeration passed by value. This enumeration indicates the function that initiated database activity. Values for this enumeration are: SQLDBInsert! SQLDBUpdate!, SQLDBDelete!, SQLDBSelect!, SQLDBProcedure!, SQLDBRPC!, and SQLDBOthers!. |
sqlsyntax |
String by value. The full text of the SQL statement. |
Long. Set the return code to affect the outcome of the event:
0 Continue processing
1 Stop processing
Use with embedded SQL This event is triggered before SQL statements are passed to the DBMS.
Use with DataWindow/DataStore When using this event of the Transaction object with a DataWindow that also defines a SQLPreview event, the DataWindow’s event is fired first. If the return value of DataWindow SQLPreview event is 0 (continue processing), the Transaction object’s SQLPreview event is triggered next.
In this embedded SQL cursor example, the SQLPreview
event is invoked just before the OPEN Emp_curs;
statement
is executed:
DECLARE Emp_cur CURSOR FOR SELECT employee.emp_number, employee.emp_name FROM employee WHERE employee.emp_salary > :Sal_var ; OPEN Emp_curs ;
In this dynamic SQL example, the SQLPreview event is invoked just before the EXECUTE DYNAMIC my_proc DESCRIPTOR SQLDA statement is executed:
PREPARE SQLSA FROM "execute @rc = myproc @parm1=?, @parm2=? OUTPUT "; DESCRIBE SQLSA INTO SQLDA ; DECLARE my_proc DYNAMIC PROCEDURE FOR SQLSA ; SetDynamicParm(SQLDA, 1, var1) SetDynamicParm(SQLDA, 2, var2) EXECUTE DYNAMIC my_proc DESCRIPTOR SQLDA ;
SQLPreview in the DataWindow Reference