当前位置: 首页 > 编程语言 > vb6 > 正文

vb神童教程(续)--vb adodb Connection对象简介

时间:2008-12-15 本站专稿 小二黑

本文欢迎非商业用途的转载,但需要注明出自“编程入门网”及相应的网址链接。

Connection对象介绍

Connection对象支持许多属性,可以利用这些属性来操作当前的连接状态或者获取一些基本的Connection对象的信息.有一些属性是只读的,而另一些属性是可读写的.

1.Attributes属性

Attributes属性设置或返回一个整型值,它用来指示对象的一项或多项特性.对于Connection对象,Attributes属性为读/写,并且其值可能为以下任意一个或多个XactAttributeEnum值的和(默认为零).

▲AdXactCommitRetaining:执行保留的提交,即通过自动调用CommitTrans启动新事务。并非所有提供者都支持该常量。

▲AdXactAbortRetaining:执行保留的中上,即通过自动调用RollbackTrans启动新事务。并非所有提供者都支持该常量。

2.CommandTimeout属性

CommandTimeout属性设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默许值为30,指示在终止尝试和产生错误之前执行命令期间需要等待的时间。使用Connection对象或Command上的CommandTimeout属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消Execute方法调用。如果在CommandTimeout属性中设置的时间间隔内没有完成命令执行,将产生错误,然后ADO将取消该命令。如果将该属性设置为零,ADO将无限期等待直到命令执行完毕。

3.ConnectionString属性

ConnectionString属性设置或返回字符串值,这个字符串值包含用来建立到数据源的连接的信息.使用ConnectionString属性,通过传递包含一系列由分号分隔的argument=value语句的详细连接字符串可指定数据源。ADO支持ConnectionString属性的四个参数,任何其他参数将直接传递到提供者而不经过ADO处理。

▲Provider参数:指定用来连接的提供者名称。

▲File Name参数:指定包含预先设置连接信息的特定提供者的文件名称。

▲Remote Provider参数:指定打开客户端连接时使用的提供者名称。

▲Remote Server参数:指定打开客户端连接时使用的服务器的路径名称。

例:使用Connection对象的ConnectionString属性的示例代码

Public Sub ConnectionString_Example()

Dim connection1 As ADODB.Connection
Dim connection2 As ADODB.Connection
Dim connection3 As ADODB.connection
Dim connection4 As ADODB.Connection
'不使用数据源名(DSN)打开连接
Set connection1=New ADODB.Connection
connection1.ConnectionString="driver={SQL Server};"&_
"server=Myserver;uid=sa;pwd=password;database=pubs"
connection1.ConnectionTimeout=30
connection1.Open
'使用DSN和ODBC标记打开连接。
Set connection2=New ADODB.Connection
connection2.ConnectionString="DSN=Pubs;UID=sa;PWD=password;"
connection2.Open
'使用DSN和OLE DB标记打开连接。
Set connection3=New ADODB.Connection
connection3.ConnectionString="Data Source=Pubs;User ID=sa;Password=password;"
connection3.Open
'使用DSN和单个参数而非连接字符串打开连接。
Set connection4=New ADODB.Connection
connection4.Open "Pubs","sa","pwd"

End Sub

注意:如果没有复选“引用”对话框中的Data Access Object,程序会出错。在上面的程序段中,先定义了4个Connection对象的变量。这4个变量分别对应于4种不同的连接方式。语句Set connection1=New ADODB.Connection是创建一个新的Connection对象,然后再调用Connection对象的Open方法来打开数据库连接。

4.ConnectionTimeout属性

ConnectionTimeout属性设置或返回指示等待连接打开的时间的长整型值(单位为秒)。其默认值为15,指示在终止尝试和产生错误前建立连接期间所等待的时间。如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用Connection对象的ConnectionTimeout属性。如果打开连接前所经过的时间超过ConnectionTimeout属性上设置的时间,将产生错误并且ADO将取消该尝试。如果将该属性设置为零,ADO将无限等待直到连接打开。

5.DefaultDatabase属性

DefaultDatabase属性可设置或返回指定Connection对象上默认数据库的名称。

例:使用Connection对象的DefaultDababase属性的示例代码。

Public Sub DefaultDatabase_Example()
Dim connection1 As ADODB.Connection
Set connection1=New ADODB.Connection
connection1.ConnectionString="driver={SQL Server};"&_
"server=Myserver;uid=sa;pwd=password"
cnn1.Open
cnn1.DefaultDatabase="pubs"
End Sub

6.IsolationLevel属性

IsolationLevel属性指出Connection对象如何处理对象。

7.Mode属性

Mode属性设置或返回以下某个ConnectModeEnum的值,指示用于更改在Connection中的数据的可用权限。

▲AdModeUnknown:默认值。表明权限尚未设置或无法确定。

▲AdModeRead:表明权限为只读。

▲AdModeWrite:表明权限为只写。

▲AdModeReadWrite:表明权限为读/写。

▲AdModeShareDenyRead:防止其他用户使用读权限打开连接。

▲AdModeShareDenyWrite:防止其他用户使用写权限打开连接。

▲AdModeShareExclusive:防止其他用户打开连接。

▲AdModeShareDenyNone:防止其他用户使用任何权限打开连接。

8.Provider属性

Provider属性指出当前数据提供者的名字,或者是使用Open()方法时没有指定名字的情况下所使用的提供者名。但是,调用Open方法时如果在多处指定提供者可能会产生无法预料的后果。如果没有指定提供者,该属性将默认为MSDASQL(Microsoft OLE DB Provider for ODBC)。

例:使用Connection对象的Provider属性的示例代码。

Public Sub Provider_Example()

Dim connection1 As ADODB.Connection
Set connection1=New ADODB.Connection
connection1.Provider="Microsoft.Jet.OLEDB.3.51"
connection1.Open"C:\samples\northwind.mdb","admin",""

End Sub

9.State属性

State属性对所有可应用对象都可用,它用来说明其对象状态是打开或关闭的。可以随时使用State属性来确定指定对象的当前状态。该属性是只读的,并返回下列常量之一的长整型值。

▲AdStateClosed:默认值,指示对象是关闭的。

▲AdStateOpen:指示对象是打开的。

▲AdStateConnecting:指示Recordset对象正在连接。

▲AdStateExecuting:指示Recordset对象正在执行命令。

▲AdStateFetching:指示Recordset对象的行正在被读取。

例:使用Connection对象的State属性的示例代码。

Public Sub State_Example()

Dim connection1 As ADODB.Connection
Dim statestring AS String
Set connection1=New ADODB.Connection
connection1.ConnectionString="DSN=Pubs;UID=sa;PWD=password;"
connection1.Open
Select Case connection1.State
case adStateClosed
statestring="adStateClosed"
case adStateOpen
statestring="adStateOpen"

End Select

'显示连接的状态。

MsgBox "connection1.State:",,statestring

End Sub