连接对象 (ADO)

适用于:Access 2013、Office 2013

表示指向数据源的打开的连接。

备注

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

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

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

  • 设置客户端的 CursorLocation 属性,以调用 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 对象的本地方法执行

若要执行某个命令,请使用 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.yourCommandName "parameter", rst

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

若要执行某个存储过程,请将使用该存储过程的语句作为 Connection 对象的方法发出,后跟任何参数。 ADO 将"尽量推测"参数的类型。 例如:

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