OleDbConnection 类

定义

表示到数据源的连接是打开的。

public ref class OleDbConnection sealed : System::Data::Common::DbConnection, ICloneable
public ref class OleDbConnection sealed : System::Data::Common::DbConnection, ICloneable, IDisposable
public ref class OleDbConnection sealed : System::ComponentModel::Component, ICloneable, IDisposable, System::Data::IDbConnection
public sealed class OleDbConnection : System.Data.Common.DbConnection, ICloneable
public sealed class OleDbConnection : System.Data.Common.DbConnection, ICloneable, IDisposable
public sealed class OleDbConnection : System.ComponentModel.Component, ICloneable, IDisposable, System.Data.IDbConnection
type OleDbConnection = class
    inherit DbConnection
    interface IDbConnection
    interface IDisposable
    interface ICloneable
type OleDbConnection = class
    inherit Component
    interface ICloneable
    interface IDbConnection
    interface IDisposable
type OleDbConnection = class
    inherit DbConnection
    interface ICloneable
    interface IDbConnection
    interface IDisposable
Public NotInheritable Class OleDbConnection
Inherits DbConnection
Implements ICloneable
Public NotInheritable Class OleDbConnection
Inherits DbConnection
Implements ICloneable, IDisposable
Public NotInheritable Class OleDbConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
继承
OleDbConnection
继承
继承
实现

示例

以下示例创建 OleDbCommandOleDbConnection。 打开 OleDbConnection 并设置为 ConnectionOleDbCommand。 然后,该示例调用 ExecuteNonQuery 并关闭连接。 为实现此目的, ExecuteNonQuery 传递了一个连接字符串和一个查询字符串,该字符串是 SQL INSERT 语句。

public void InsertRow(string connectionString, string insertSQL)
{
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        // The insertSQL string contains a SQL statement that
        // inserts a new row in the source table.
        OleDbCommand command = new OleDbCommand(insertSQL);

        // Set the Connection to the new OleDbConnection.
        command.Connection = connection;

        // Open the connection and execute the insert command.
        try
        {
            connection.Open();
            command.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
}
Public Sub InsertRow(ByVal connectionString As String, _
    ByVal insertSQL As String)

    Using connection As New OleDbConnection(connectionString)
        ' The insertSQL string contains a SQL statement that
        ' inserts a new row in the source table.
        Dim command As New OleDbCommand(insertSQL)

        ' Set the Connection to the new OleDbConnection.
        command.Connection = connection

        ' Open the connection and execute the insert command.
        Try
            connection.Open()
            command.ExecuteNonQuery()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using
End Sub

注解

对象 OleDbConnection 表示与数据源的唯一连接。 对于客户端/服务器数据库系统,它等效于与服务器的网络连接。 根据本机 OLE DB 访问接口支持的功能,对象的某些 OleDbConnection 方法或属性可能不可用。

创建 的 OleDbConnection实例时,所有属性都设置为其初始值。 有关这些值的列表,请参阅 OleDbConnection 构造函数。

可以在单个 上 OleDbConnection打开多个 DataReader。 如果使用的 OLE DB 提供程序在单个连接上不支持多个 DataReader,则提供程序会为每个连接隐式打开一个附加连接。

OleDbConnection如果 超出范围,则不会关闭。 因此,必须通过调用 CloseDispose 或使用 OleDbConnection 语句中的 Using 对象来显式关闭连接。

注意

若要部署高性能应用程序,必须使用连接池。 使用适用于 OLE DB 的 .NET Framework 数据提供程序时,无需启用连接池,因为提供程序会自动管理此连接池。 有关如何将连接池与 .NET Framework Data Provider for OLE DB 配合使用的详细信息,请参阅 OLE DB、ODBC 和 Oracle 连接池

例如,如果致命OleDbException (,则执行 OleDbCommandOleDbConnection 的方法生成SQL Server严重级别为 20 或更高) ,则 可能会关闭 。 但是,用户可以重新打开连接并继续操作。

创建 对象实例 OleDbConnection 的应用程序可以通过设置声明性或命令性安全要求,要求所有直接调用方和间接调用方对代码具有足够的权限。 OleDbConnection 使用 OleDbPermission 对象提出安全要求。 用户可以使用 对象验证其代码是否具有足够的权限 OleDbPermissionAttribute 。 用户和管理员还可以使用 Caspol.exe (代码访问安全策略工具) 在计算机、用户和企业级别修改安全策略。 有关更多信息,请参见 Code Access Security and ADO.NET

有关处理来自数据服务器的警告和信息性消息的详细信息,请参阅 连接事件

注意

对象 OleDbConnection 不支持设置或检索特定于 OLE DB 提供程序的动态属性。 只支持可在 OLE DB 提供程序连接字符串中传递的属性。

构造函数

OleDbConnection()

初始化 OleDbConnection 类的新实例。

OleDbConnection(String)

使用指定的连接字符串初始化 OleDbConnection 类的新实例。

属性

CanCreateBatch

获取一个值,该值指示此 DbConnection 是否支持 DbBatch 类。

(继承自 DbConnection)
CanRaiseEvents

获取一个指示组件是否可以引发事件的值。

(继承自 Component)
ConnectionString

获取或设置用于打数据库的字符串。

ConnectionTimeout

获取在尝试建立连接时终止尝试并生成错误之前所等待的时间(以秒为单位)。

Container

获取包含 IContainerComponent

(继承自 Component)
Database

获取当前数据库的名称或打开连接后要使用的数据库的名称。

DataSource

获取数据源的服务器名或文件名。

DbProviderFactory

获取此 DbProviderFactoryDbConnection

(继承自 DbConnection)
DesignMode

获取一个值,用以指示 Component 当前是否处于设计模式。

(继承自 Component)
Events

获取附加到此 Component 的事件处理程序的列表。

(继承自 Component)
Provider

获取在连接字符串的“Provider = ”子句中指定的 OLE DB 提供程序的名称。

ServerVersion

获取一个包含客户端所连接到的服务器的版本的字符串。

Site

获取或设置 ComponentISite

(继承自 Component)
State

获取连接的当前状态。

方法

BeginDbTransaction(IsolationLevel)

在派生类中重写时,启动数据库事务。

(继承自 DbConnection)
BeginDbTransactionAsync(IsolationLevel, CancellationToken)

异步启动数据库事务。

(继承自 DbConnection)
BeginTransaction()

以当前的 IsolationLevel 值开始数据库事务。

BeginTransaction(IsolationLevel)

以指定的隔离级别启动数据库事务。

BeginTransactionAsync(CancellationToken)

异步开始数据库事务。

(继承自 DbConnection)
BeginTransactionAsync(IsolationLevel, CancellationToken)

异步开始数据库事务。

(继承自 DbConnection)
ChangeDatabase(String)

更改已打开的 OleDbConnection 的当前数据库。

ChangeDatabaseAsync(String, CancellationToken)

为打开的连接对象异步更改当前数据库。

(继承自 DbConnection)
Close()

关闭到数据源的连接。

CloseAsync()

异步关闭与数据库之间的连接。

(继承自 DbConnection)
CreateBatch()

返回实现 DbBatch 类的提供程序类的一个新实例。

(继承自 DbConnection)
CreateCommand()

创建并返回一个与该 OleDbCommand 关联的 OleDbConnection 对象。

CreateDbBatch()

在派生类中重写时,返回实现 DbBatch 类的提供程序类的新实例。

(继承自 DbConnection)
CreateDbCommand()

在派生类中重写时,创建并返回与当前连接关联的 DbCommand 对象。

(继承自 DbConnection)
CreateObjRef(Type)

创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。

(继承自 MarshalByRefObject)
Dispose()

执行与释放或重置非托管资源关联的应用程序定义的任务。

(继承自 DbConnection)
Dispose()

释放由 Component 使用的所有资源。

(继承自 Component)
Dispose(Boolean)

释放由 DbConnection 占用的非托管资源,还可以另外再释放托管资源。

(继承自 DbConnection)
Dispose(Boolean)

释放由 Component 占用的非托管资源,还可以另外再释放托管资源。

(继承自 Component)
DisposeAsync()

异步处置连接对象。

(继承自 DbConnection)
EnlistDistributedTransaction(ITransaction)

在指定的事务中登记为分布式事务。

EnlistTransaction(Transaction)

在指定的事务中登记为分布式事务。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetLifetimeService()
已过时.

检索控制此实例的生存期策略的当前生存期服务对象。

(继承自 MarshalByRefObject)
GetOleDbSchemaTable(Guid, Object[])

应用了指定的限制之后,按照 GUID 的指示从数据源返回架构信息。

GetSchema()

返回此 OleDbConnection 的数据源的架构信息。

GetSchema(String)

通过使用架构名称的指定字符串,返回此 OleDbConnection 的数据源的架构信息。

GetSchema(String, String[])

通过使用指定字符串作为架构名称,指定字符串数组作为限制值,返回此 OleDbConnection 的数据源的架构信息。

GetSchemaAsync(CancellationToken)

这是 GetSchema() 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema() 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema() 引发的异常将通过任务异常属性传递。

(继承自 DbConnection)
GetSchemaAsync(String, CancellationToken)

这是 GetSchema(String) 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema(String) 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema(String) 引发的异常将通过任务异常属性传递。

(继承自 DbConnection)
GetSchemaAsync(String, String[], CancellationToken)

这是 GetSchema(String, String[]) 的异步版本。 提供程序应使用合适的实现进行重写。 可以选择接受 cancellationToken。 默认实现调用同步 GetSchema(String, String[]) 调用并返回已完成任务。 如果传递到已取消 cancellationToken,则默认实现将返回已取消的任务。 GetSchema(String, String[]) 引发的异常将通过任务异常属性传递。

(继承自 DbConnection)
GetService(Type)

返回一个对象,该对象表示由 Component 或它的 Container 提供的服务。

(继承自 Component)
GetType()

获取当前实例的 Type

(继承自 Object)
InitializeLifetimeService()
已过时.

获取生存期服务对象来控制此实例的生存期策略。

(继承自 MarshalByRefObject)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MemberwiseClone(Boolean)

创建当前 MarshalByRefObject 对象的浅表副本。

(继承自 MarshalByRefObject)
OnStateChange(StateChangeEventArgs)

引发 StateChange 事件。

(继承自 DbConnection)
Open()

使用由 ConnectionString 指定的属性设置打开一个数据库连接。

OpenAsync()

Open()的异步版本,打开由 ConnectionString指定的设置的数据库连接。 此方法通过 CancellationToken.None 调用虚拟方法 OpenAsync(CancellationToken)

(继承自 DbConnection)
OpenAsync(CancellationToken)

这是 Open() 的异步版本。 提供程序应使用合适的实现进行重写。 可选择性接受取消标记。

默认实现调用同步 Open() 调用并返回已完成任务。 如果传递到已取消的取消标记,则默认实现将返回已取消的 cancellationToken。 Open 引发的异常将通过返回的任务异常属性传递。

在返回的任务完成前,不要调用 DbConnection 对象的其他方法和属性。

(继承自 DbConnection)
ReleaseObjectPool()

指示可在释放最后一个基础连接时释放 OleDbConnection 对象池。

ResetState()

更新 State 对象的 OleDbConnection 属性。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
ToString()

返回包含 Component 的名称的 String(如果有)。 不应重写此方法。

(继承自 Component)

事件

Disposed

在通过调用 Dispose() 方法释放组件时发生。

(继承自 Component)
InfoMessage

在提供程序发送警告或信息性消息时发生。

StateChange

当连接状态改变时发生。

StateChange

当连接状态改变时发生。

(继承自 DbConnection)

显式接口实现

ICloneable.Clone()

有关此成员的说明,请参见 Clone()

IDbConnection.BeginTransaction()

此 API 支持产品基础结构,不能在代码中直接使用。

开始一项数据库事务。

IDbConnection.BeginTransaction()

开始一项数据库事务。

(继承自 DbConnection)
IDbConnection.BeginTransaction(IsolationLevel)

此 API 支持产品基础结构,不能在代码中直接使用。

以指定的隔离级别启动数据库事务。

IDbConnection.BeginTransaction(IsolationLevel)

以指定的隔离级别启动数据库事务。

(继承自 DbConnection)
IDbConnection.CreateCommand()

此 API 支持产品基础结构,不能在代码中直接使用。

创建并返回与连接关联的命令对象。

IDbConnection.CreateCommand()

创建并返回与当前连接关联的 DbCommand 对象。

(继承自 DbConnection)

适用于

另请参阅