连接对象 (ADO)

表示与数据源的打开连接。

注解

Connection 对象表示与数据源的唯一会话。 在客户端/服务器数据库系统中,它可能等同于与服务器的实际网络连接。 Connection 对象的某些集合、方法或属性可能不可用,具体取决于提供程序支持的功能

使用 Connection 对象的集合、方法和属性,可以执行以下操作

  • 在打开连接之前使用 ConnectionStringConnectionTimeoutMode 属性配置连接。 ConnectionString 是 Connection 对象的默认属性。

  • CursorLocation 属性设置为 client 以调用 Microsoft Cursor Service for OLE DB,后者支持批量更新。

  • 使用 DefaultDatabase 属性设置连接的默认数据库。

  • 使用 IsolationLevel 属性设置在连接上打开的事务的隔离级别。

  • 使用 Provider 属性指定 OLE DB 提供程序。

  • 使用 OpenClose 方法建立并随后断开与数据源的物理连接。

  • 使用 Execute 方法在连接上执行命令,并使用 CommandTimeout 属性配置执行。

    注意

    要在不使用 Command 对象的情况下执行查询,请将查询字符串传递给 Connection 对象的 Execute 方法。 但是,如果你希望持久保存命令文本并重新执行它,或你想要使用查询参数,则 Command 对象是必需的

  • 使用 BeginTransCommitTransRollbackTrans 方法和 Attributes 属性管理打开连接上的事务,包括嵌套事务(如果提供程序支持)。

  • 使用 Errors 集合检查从数据源返回的错误。

  • 从与 Version 属性一起使用的 ADO 实现中读取版本。

  • 使用 OpenSchema 方法获取有关你的数据库的架构信息。

你可以独立于任何其他先前定义的对象创建 Connection 对象。

你可以执行命名命令或存储过程,就好像它们是 Connection 对象上的本机方法一样,如下一节所示。 当命名命令与存储过程同名时,在 Connection 对象上调用“本机方法调用”始终执行命名命令而不是存储过程。

注意

请勿在 Microsoft .NET Framework 应用程序中使用此功能(调用命名命令或存储过程,就好像它是 连接 microsoft .NET Framework 应用程序中的本机方法),因为该功能的基础实现与 .NET Framework 与 COM 互操作的方式冲突。

将命令作为 Connection 对象的本机方法执行

要执行命令,请使用 Command 对象 Name 属性为命令命名。 将 Command 对象的 ActiveConnection 属性设置为连接。 然后发出一条语句,其中命令名称被用作 Connection 对象上的方法,后跟任何参数,如果返回任何行,则为 Recordset 对象。 设置 Recordset 属性以自定义生成的 Recordset。 例如:

Dim cnn As New ADODB.Connection  
Dim cmd As New ADODB.Command  
Dim rst As New ADODB.Recordset  
...  
cnn.Open "..."  
cmd.Name = "yourCommandName"  
cmd.ActiveConnection = cnn  
...  
'Your command name, any parameters, and an optional Recordset.  
cnn. "parameter", rst  

将存储过程作为 Connection 对象的本机方法执行

要执行存储过程,请发出一条语句,其中使用存储过程名称,就好像是 Connection 对象上的方法一样,后跟任何参数。 ADO 将对参数类型进行“最佳猜测”。 例如:

Dim cnn As New ADODB.Connection  
...  
'Your stored procedure name and any parameters.  
cnn. "parameter"  

Connection 对象可以安全地用于编写脚本

本部分包含以下主题。

另请参阅

命令对象 (ADO)
错误集合 (ADO)
属性集合 (ADO)
记录集对象 (ADO)
附录 A:提供程序