Condividi tramite


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.

    DisconnectRollback

    Specifies if a pending transaction is committed or rolled back when SQLDISCONNECT( ) is called for the last connection handle.

    The default is false (.F.), indicating that a pending transaction is committed when SQLDISCONNECT( ) is called for the last connection handle.

    Specify true (.T.) to roll back a pending transaction when SQLDISCONNECT( ) is called for the last connection handle.

    Connections with automatic transaction processing are not affected by this setting.

    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 minutes. 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/write

    Password

    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 Value

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)

See Also

Reference

AERROR( ) Function

SQLGETPROP( ) Function

Connection Designer

SQL Commands and Functions

Other Resources

Language Reference (Visual FoxPro)