Functions.SqlConnect 方法 (String, __Usual, __Usual, __Usual) | |
建立与数据源的连接。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION SqlConnect(
cDataSourceName AS STRING,
cUserID AS USUAL,
cPassword AS USUAL,
lShared AS USUAL
) AS LONG
public static int SqlConnect(
string cDataSourceName,
[DefaultParameterValueAttribute(0, 1)] __Usual cUserID,
[DefaultParameterValueAttribute(0, 1)] __Usual cPassword,
[DefaultParameterValueAttribute(0, 1)] __Usual lShared
)
查看代码参数
- cDataSourceName
- 类型:String
这指定一个 ODBC 数据源名称。对于非 ODBC 连接,我们建议您使用 SqlStringConnect() 进行连接。
- cUserID
- 类型:__Usual
指定用于登录数据源的用户标识符。如果 ODBC 数据源中存储了用户 ID/密码,则可以省略此项。
- cPassword
- 类型:__Usual
指定用于访问数据源的密码。如果 ODBC 数据源中存储了用户 ID/密码,则可以省略此项。
- lShared
- 类型:__Usual
指定是否创建共享连接。
False (.F.) - SqlConnect( ) 不创建共享连接。(默认)
True (.T.) - SqlConnect( ) 创建共享连接。
返回值
类型:
Int32
数值数据类型。
如果成功连接到数据源,
SqlConnect( ) 返回一个正的非零数值作为语句句柄。
如果无法建立连接,
SqlConnect( ) 返回 -1。
您应将此语句句柄存储在内存变量中,并在需要连接句柄的后续函数调用中使用该变量。
备注 SqlConnect( ) 和
SqlStringConnect( ) 函数返回一个数值作为语句句柄,而不是连接句柄。
您不能直接获取连接句柄。您仍然可以使用
SqlSetProp( ) 和
SqlGetProp( ) 函数通过传递该连接的语句句柄和字符串
"Shared" 作为参数来设置和获取连接属性。所有其他 SQL 函数使用语句句柄而不是连接句柄。
如果您发出类似
1SqlConnect(cConnectionName, .T.)
的语句,并且已经有一个具有相同名称的共享连接打开,则该连接的设置不会更改为数据库容器(DBC) 中存储的设置。
但是,新的语句句柄将使用 DBC 中的语句设置。
您必须禁用开放数据库连接 (ODBC) 登录对话框,以支持 Microsoft 事务服务器的 SQL 直通。
要禁用 ODBC 登录对话框,请使用语句
1SqlSetProp(nStatementHandle, 'DispLogin', 3)
其中 cStatementHandle 是
SqlConnect( ) 返回的语句句柄。您还可以在连接设计器中禁用 ODBC 登录对话框。
示例 示例 1
以下示例假设存在并可用一个名为 MyFoxSQLNT 的 ODBC 数据源。
SqlConnect( ) 返回一个数值,该数值存储在名为
gnConnHandle 的变量中。
如果您成功连接到数据源,
SqlConnect( ) 返回一个正数,出现一个对话框,并调用
SqlDisconnect( ) 以断开与数据源的连接。
如果您无法连接到数据源,
SqlConnect( ) 返回一个负数并显示一条消息。
1STORE SqlConnect('MyFoxSQLNT', 'myUserID', 'myPassword') TO gnConnHandle
2
3IF gnConnHandle <= 0
4 = MessageBox('无法建立连接', 16, 'SQL 连接错误')
5ELSE
6 = MessageBox('连接已建立', 48, 'SQL 连接消息')
7 = SqlDisconnect(gnHandle)
8ENDIF
示例 2
以下每个示例都创建新的共享连接。出现选择数据源对话框,并且
SqlConnect( ) 将结果连接创建为共享连接。
1SqlConnect(.T.)
2SqlConnect( myConnectionName, .T. )
3SqlConnect( myDataSourceName, myUserID, myPassword, .T. )
示例 3
以下每个示例都基于现有的共享连接创建一个新的语句句柄。
1SqlConnect( nStatementHandleValue )
2SqlConnect( myConnectionName, .T. )
参见