点击或拖拽改变大小

Functions.SqlSetProp 方法 (Int32, Int32, __Usual)

X#
指定活动连接的设置。您可以使用 SqlSetProp( ) 在连接级别指定设置。
要在环境级别指定应用程序默认设置,请包含 0 作为语句句柄。

命名空间:  XSharp.VFP
程序集:  XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法
 FUNCTION SqlSetProp(
	nStatementHandle AS LONG,
	nSetting AS LONG,
	eExpression AS USUAL
) AS LONG
查看代码

参数

nStatementHandle
类型:Int32
指定由 SqlConnect( ) 返回的数据源的语句句柄。
nSetting
类型:Int32
Specifies the setting. For a list of the settings you can specify see the SQLProperty Enum.
eExpression
类型:__Usual
指定您用 cSetting 指定的设置的值。如果省略 eExpression,则恢复设置的默认值。

返回值

类型:Int32
数值型。SqlSetProp( ) 成功时返回 1。 否则,如果发生连接级别错误,则返回 -1;如果发生环境级别错误,则返回 -2。
备注
您可以使用 SqlGetProp( ) 返回指定设置的当前值。
您必须禁用开放数据库连接 (ODBC) 登录对话框以支持 Microsoft 事务服务器的 SQL 直通。
要禁用 ODBC 登录对话框,请使用语句
X#
1SqlSetProp(cStatementHandle, 'DispLogin', 3)
其中 cStatementHandle 是由 SqlConnect( ) 返回的语句句柄。您还可以在连接设计器中禁用 ODBC 登录对话框。
ConnectTimeOut 选项只能在应用程序级别设置,在连接级别没有等效项。您可以在连接级别或应用程序级别设置所有其他选项。 在应用程序级别设置的每个选项都作为后续连接的默认值。
设置描述读/写
Asynchronous指定结果集是同步 (False (.F.),默认) 还是异步 (True (.T.)) 返回。读/写
BatchMode 指定 SqlExec( ) 是一次性返回所有结果集 (True (.T.),默认), 还是通过 SqlMoreResults( ) 单独返回 (False (.F.))。 读/写
ConnectBusy如果共享连接忙,则包含 True (.T.);否则包含 False (.F.)。只读
ConnectString登录连接字符串。只读
ConnectTimeOut 指定在返回连接超时错误之前等待的时间(以秒为单位)。 如果指定 0,则等待时间无限长,永不返回超时错误。ConnectTimeOut 可以是 0 到 600。默认值是 15。 读/写
DataSourceODBC 连接的 ODBC.INI 文件中定义的数据源名称。读/写
DisconnectRollback 指定当为最后一个连接句柄调用 SqlDisconnect( ) 时,是否提交或回滚挂起的事务。
默认值为 false (.F.),表示当为最后一个连接句柄调用 SqlDisconnect( ) 时提交挂起的事务。
指定 true (.T.) 以在为最后一个连接句柄调用 SqlDisconnect( ) 时回滚挂起的事务。
自动事务处理的连接不受此设置影响。
读/写
DispLogin 包含一个数值,确定何时显示 ODBC 登录对话框。DispLogin 可以取以下值:
1 或 DB_PROMPTCOMPLETE(来自 Foxpro.H)。1 是默认值。
2 或 DB_PROMPTALWAYS(来自 Foxpro.H)。
3 或 DB_PROMPTNEVER(来自 Foxpro.H)。
如果指定 1 或 DB_PROMPTCOMPLETE,X# 仅在缺少任何必需信息时显示 ODBC 登录对话框。
如果指定 2 或 DB_PROMPTALWAYS,始终显示 ODBC 登录对话框,使您可以在连接之前更改设置。
如果指定 3 或 DB_PROMPTNEVER,不显示 ODBC 登录对话框,如果所需的登录信息不可用,X# 会生成错误。读/写。
读/写
DispWarnings指定是否显示错误消息 (True (.T.)) 或不显示 (False (.F.),默认)。读/写
IdleTimeout 空闲超时间隔(以分钟为单位)。在指定的时间间隔后,活动连接将被停用。 默认值为 0(无限等待)。 读/写
ODBChdbc内部 Ado.Net DbConnection 对象。只读
ODBChstmt内部 Ado.Net DbCommand 对象。只读
PacketSize 连接使用的网络数据包大小。调整此值可以提高性能。 默认值为 4096 字节(4K)。
更改此属性并不适用于所有提供程序。
读/写
Password连接密码。当您使用登录对话框创建连接时,此密码并不总是可用。只读
QueryTimeOut 指定在返回一般超时错误之前等待的时间(以秒为单位)。如果指定 0(默认值), 则等待时间无限长,永不返回超时错误。QueryTimeOut 可以是 0 到 600。 读/写
Shared指定底层连接是否为共享连接 (True (.T.)),或不是 (False (.F.))。只读
Transactions 包含一个数值,确定连接如何管理远程表上的事务。事务可以取以下值:
1 或 DB_TRANSAUTO(来自 Foxpro.H)。1 是默认值。远程表的事务处理自动处理。
2 或 DB_TRANSMANUAL(来自 Foxpro.H)。事务处理通过 SqlCommit( ) 和 SqlRollBack( ) 手动处理。
读/写
UserId用户标识。当您使用登录对话框创建连接时,此 UserId 并不总是可用。只读
WaitTime 在 X# 检查 SQL 语句是否已完成执行之前经过的时间(以毫秒为单位)。 默认值为 100 毫秒。 读/写
示例
X#
 1Close ALL
 2Clear ALL
 3Clear
 4nHandle=SqlConnect()
 5
 6IF nHandle > 0
 7    nSet=SqlSetProp(nHandle, "PacketSize", 2048 )
 8
 9    IF nSet > 0
10        =MessageBox("PacketSize 已设置为 2048",0,"连接结果")
11    ELSE
12        =MessageBox("设置 PacketSize 时出错",0,"连接结果")
13    ENDIF
14ELSE
15    =MessageBox("无连接",0,"连接结果")
16ENDIF
17
18=SqlDisconnect(nHandle)
参见