1、编程高手之路跟我学 VB(续)-vb adodb Connection 对象简介Connection 对象介绍 Connection 对象支持许多属性,可以利用这些属性来操作当前的连接状态或者获取一些基本的 Connection 对象的信息.有一些属性是只读的,而另一些属性是可读写的.1.Attributes 属性Attributes 属性设置或返回一个整型值,它用来指示对象的一项或多项特性.对于 Connection对象,Attributes 属性为读/写,并且其值可能为以下任意一个或多个 XactAttributeEnum 值的和(默认为零).AdXactCommitRetaining:执
2、行保留的提交,即通过自动调用 CommitTrans 启动新事务。并非所有提供者都支持该常量。AdXactAbortRetaining:执行保留的中上,即通过自动调用 RollbackTrans 启动新事务。并非所有提供者都支持该常量。2.CommandTimeout 属性CommandTimeout 属性设置或返回长整型值,该值指示等待命令执行的时间(单位为秒) 。默许值为 30,指示在终止尝试和产生错误之前执行命令期间需要等待的时间。使用Connection 对象或 Command 上的 CommandTimeout 属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消 Execute
3、方法调用。如果在 CommandTimeout 属性中设置的时间间隔内没有完成命令执行,将产生错误,然后 ADO 将取消该命令。如果将该属性设置为零,ADO 将无限期等待直到命令执行完毕。3.ConnectionString 属性ConnectionString 属性设置或返回字符串值 ,这个字符串值包含用来建立到数据源的连接的信息.使用 ConnectionString 属性 ,通过传递包含一系列由分号分隔的 argument=value 语句的详细连接字符串可指定数据源。ADO 支持 ConnectionString 属性的四个参数,任何其他参数将直接传递到提供者而不经过 ADO 处理。P
4、rovider 参数:指定用来连接的提供者名称。File Name 参数:指定包含预先设置连接信息的特定提供者的文件名称。Remote Provider 参数:指定打开客户端连接时使用的提供者名称。Remote Server 参数:指定打开客户端连接时使用的服务器的路径名称。例:使用 Connection 对象的 ConnectionString 属性的示例代码Public Sub ConnectionString_Example()Dim connection1 As ADODB.ConnectionDim connection2 As ADODB.ConnectionDim connect
5、ion3 As ADODB.connectionDim connection4 As ADODB.Connection不使用数据源名(DSN)打开连接Set connection1=New ADODB.Connectionconnection1.ConnectionString=“driver=SQL Server;“uid=sa;pwd=password;database=pubs“connection1.ConnectionTimeout=30connection1.Open使用 DSN 和 ODBC 标记打开连接。Set connection2=New ADODB.Connectionc
6、onnection2.ConnectionString=“DSN=Pubs;UID=sa;PWD=password;“connection2.Open使用 DSN 和 OLE DB 标记打开连接。Set connection3=New ADODB.Connectionconnection3.ConnectionString=“Data Source=Pubs;User ID=sa;Password=password;“connection3.Open使用 DSN 和单个参数而非连接字符串打开连接。Set connection4=New ADODB.Connectionconnection4.O
7、pen “Pubs“,“sa“,“pwd“End Sub注意:如果没有复选“引用”对话框中的 Data Access Object,程序会出错。在上面的程序段中,先定义了 4 个 Connection 对象的变量。这 4 个变量分别对应于 4 种不同的连接方式。语句 Set connection1=New ADODB.Connection 是创建一个新的 Connection 对象,然后再调用 Connection 对象的 Open 方法来打开数据库连接。4.ConnectionTimeout 属性ConnectionTimeout 属性设置或返回指示等待连接打开的时间的长整型值(单位为秒)
8、。其默认值为 15,指示在终止尝试和产生错误前建立连接期间所等待的时间。如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用 Connection 对象的ConnectionTimeout 属性。如果打开连接前所经过的时间超过 ConnectionTimeout 属性上设置的时间,将产生错误并且 ADO 将取消该尝试。如果将该属性设置为零,ADO 将无限等待直到连接打开。5.DefaultDatabase 属性DefaultDatabase 属性可设置或返回指定 Connection 对象上默认数据库的名称。例:使用 Connection 对象的 DefaultDababa
9、se 属性的示例代码。Public Sub DefaultDatabase_Example()Dim connection1 As ADODB.ConnectionSet connection1=New ADODB.Connectionconnection1.ConnectionString=“driver=SQL Server;“uid=sa;pwd=password“cnn1.Opencnn1.DefaultDatabase=“pubs“End Sub6.IsolationLevel 属性IsolationLevel 属性指出 Connection 对象如何处理对象。7.Mode 属性Mo
10、de 属性设置或返回以下某个 ConnectModeEnum 的值,指示用于更改在 Connection 中的数据的可用权限。AdModeUnknown:默认值。表明权限尚未设置或无法确定。AdModeRead:表明权限为只读。AdModeWrite:表明权限为只写。AdModeReadWrite:表明权限为读 /写。AdModeShareDenyRead:防止其他用户使用读权限打开连接。AdModeShareDenyWrite:防止其他用户使用写权限打开连接。AdModeShareExclusive:防止其他用户打开连接。AdModeShareDenyNone:防止其他用户使用任何权限打开连
11、接。8.Provider 属性Provider 属性指出当前数据提供者的名字,或者是使用 Open()方法时没有指定名字的情况下所使用的提供者名。但是,调用 Open 方法时如果在多处指定提供者可能会产生无法预料的后果。如果没有指定提供者,该属性将默认为 MSDASQL(Microsoft OLE DB Provider for ODBC)。例:使用 Connection 对象的 Provider 属性的示例代码。Public Sub Provider_Example()Dim connection1 As ADODB.ConnectionSet connection1=New ADODB.C
12、onnectionconnection1.Provider=“Microsoft.Jet.OLEDB.3.51“connection1.Open“C:samplesnorthwind.mdb“,“admin“,“End Sub9.State 属性State 属性对所有可应用对象都可用,它用来说明其对象状态是打开或关闭的。可以随时使用 State 属性来确定指定对象的当前状态。该属性是只读的,并返回下列常量之一的长整型值。AdStateClosed:默认值,指示对象是关闭的。AdStateOpen:指示对象是打开的。AdStateConnecting:指示 Recordset 对象正在连接。Ad
13、StateExecuting:指示 Recordset 对象正在执行命令。AdStateFetching:指示 Recordset 对象的行正在被读取。例:使用 Connection 对象的 State 属性的示例代码。Public Sub State_Example()Dim connection1 As ADODB.ConnectionDim statestring AS StringSet connection1=New ADODB.Connectionconnection1.ConnectionString=“DSN=Pubs;UID=sa;PWD=password;“connection1.OpenSelect Case connection1.Statecase adStateClosedstatestring=“adStateClosed“case adStateOpenstatestring=“adStateOpen“End Select显示连接的状态。MsgBox “connection1.State:“,statestringEnd Sub