Prepare Property

   Applies To

Sets or returns a value that indicates whether the query should be prepared on the server as a temporary stored procedure, using the ODBC SQLPrepare API function, prior to execution, or just executed using the ODBC SQLExecDirect API function (ODBCDirect workspaces only).

Syntax

VOIDSetPrepare(LPVARIANT pv);

COleVariantGetPrepare(VOID);

Parameters

Type Argument Description
LPVARIANT pv A pointer to a variant with one of the values shown below.

Remarks

This property takes either of the following constants:

Constant Description
dbQPrepare (Default) The statement is prepared (that is, the ODBC SQLPrepare API is called).
dbQUnprepare The statement is not prepared (that is, the ODBC SQLExecDirect API is called).

You can use the Prepare property to either have the server create a temporary stored procedure from your query and then execute it, or just have the query executed directly. By default the Prepare property is set to dbQPrepare. However, you can set this property to dbQUnprepare to prohibit preparing of the query. In this case, the query is executed using the SQLExecDirect API.

Creating a stored procedure can slow down the initial operation, but increases performance of all subsequent references to the query. However, some queries cannot be executed in the form of stored procedures. In these cases, you must set the Prepare property to dbQUnprepare.

If Prepare is set to dbQPrepare, this can be overridden when the query is executed by setting the Execute method's options argument to dbExecDirect.

Note The ODBC SQLPrepare API is called as soon as the SQL property is set. Therefore, if you want to improve performance using the dbQUnprepare option, you must set the Prepare property before setting the SQL property.