SQLSETPROP( ) Function
Specifies settings for an active connection. You can use SQLSETPROP( ) to specify settings at the connection level. To specify Visual FoxPro default settings at the environment level, include 0 as the statement handle.
SQLSETPROP(nStatementHandle, cSetting [, eExpression])
Parameters
- nStatementHandle
Specifies the statement handle to the data source returned by SQLCONNECT( ). - cSetting
Specifies the setting. The following table lists the values for cSetting.Setting Description Asynchronous Specifies whether result sets are returned synchronously (False (.F.), the default), or asynchronously (True (.T.)).
Read/write.BatchMode Specifies whether SQLEXEC( ) returns result sets all at once (True (.T.), the default), or individually with SQLMORERESULTS( ) (False (.F.)).
Read/write.ConnectBusy Contains True (.T.) if a shared connection is busy; otherwise contains False (.F.).
Read-only.ConnectString The login connection string.
Read-only.ConnectTimeOut Specifies the time to wait (in seconds) before returning a connection time-out error. If you specify 0, the wait is indefinite and a time-out error is never returned. ConnectTimeOut can be 0 to 600. The default is 15.
Read/write.DataSource The name of the data source as defined in the ODBC.INI file.
Read/write.DispLogin Contains a numeric value that determines when the ODBC Login dialog box is displayed. DispLogin may assume the following values: 1 or DB_PROMPTCOMPLETE (from FOXPRO.H).1 is the default.
2 or DB_PROMPTALWAYS (from FOXPRO.H).
3 or DB_PROMPTNEVER (from FOXPRO.H).
If 1 or DB_PROMPTCOMPLETE is specified, Visual FoxPro displays the ODBC Login dialog box only if any required information is missing.
If 2 or DB_PROMPTALWAYS is specified, the ODBC Login dialog box is always displayed, making it possible for you to change settings before connecting.
If 3 or DB_PROMPTNEVER is specified, the ODBC Login dialog box isn't displayed and Visual FoxPro generates an error if the required login information isn't available.
Read/write.DispWarnings Specifies if error messages are displayed (True (.T.)) or are not displayed (False (.F.), the default).
Read/write.IdleTimeout The idle timeout interval in seconds. Active connections are deactivated after the specified time interval. The default value is 0 (wait indefinitely).
Read/write.ODBChdbc The internal ODBC connection handle, which may be used by external library files (FLL files) to call ODBC.
Read-only.ODBChstmt The internal ODBC statement handle, which may be used by external library files (FLL files) to call ODBC.
Read-only.PacketSize The size of the network packet used by the connection. Adjusting this value can improve performance. The default value is 4096 bytes (4K).
Read/writePassword The connection password.
Read-only.QueryTimeOut Specifies the time to wait (in seconds) before returning a general time-out error. If you specify 0 (the default), the wait is indefinite and a time-out error is never returned. QueryTimeOut can be 0 to 600.
Read/write.Shared Specifies whether the underlying connection is a shared connection (True (.T.)), or not (False (.F.)). Read-only.
Transactions Contains a numeric value that determines how the connection manages transactions on the remote table. Transactions may assume the following values: 1 or DB_TRANSAUTO (from FOXPRO.H).1 is the default. Transaction processing for the remote table is automatically handled.
2 or DB_TRANSMANUAL (from FOXPRO.H). Transaction processing is handled manually through SQLCOMMIT( ) and SQLROLLBACK( ).
Read/write.UserId The user identification. Read-only. WaitTime The amount of time in milliseconds that elapses before Visual FoxPro checks if the SQL statement has completed executing. The default is 100 milliseconds.
Read/write. - eExpression
Specifies the value for the setting you designate with cSetting. If you omit eExpression, the default value is restored for the setting.
Return Values
Numeric data type. SQLSETPROP( ) returns 1 if it is successful. Otherwise, it returns – 1 if a connection level error occurs or – 2 if an environment level error occurs.
Remarks
You can use SQLGETPROP( ) to return the current value for a specified setting.
Note You must disable the Open Database Connectivity (ODBC) login dialog box to support SQL pass through with Microsoft Transaction Server. To disable the ODBC login dialog box, use the statement
SQLSETPROP(cStatementHandle, 'DispLogin', 3)
, where cStatementHandle is the statement handle returned by SQLCONNECT( ). You can also disable the ODBC login dialog box in the Connection Designer.
The ConnectTimeOut option can be set only at the Visual FoxPro level and has no equivalent at the connection level. You can set all other options at either the connection or the Visual FoxPro level. Each option set at the Visual FoxPro level serves as a default value for subsequent connections.
Example
The following example shows how SQLSETPROP( ) is used to set the packet size for the current connection. SQLCONNECT( ) displays the Select Connection or Data Source Dialog Box for you to choose a connection, and the connection is tested. The packet size is set; the setting is tested; and the results are displayed.
CLOSE ALL
CLEAR ALL
CLEAR
nHandle=SQLCONNECT()
IF nHandle > 0
nSet=SQLSETPROP(nHandle, "PacketSize", 2048 )
IF nSet > 0
=MESSAGEBOX("PacketSize was set to 2048",0,"Connection Results")
ELSE
=MESSAGEBOX("Error setting PacketSize",0,"Connection Results")
ENDIF
ELSE
=MESSAGEBOX("No Connection",0,"Connection Results")
ENDIF
=SQLDISCONNECT(nHandle)