OleDbConnection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示數據源的開啟連接。
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 ref class OleDbConnection sealed : 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
public sealed class OleDbConnection : System.Data.Common.DbConnection, ICloneable
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, IDisposable
Public NotInheritable Class OleDbConnection
Inherits Component
Implements ICloneable, IDbConnection, IDisposable
Public NotInheritable Class OleDbConnection
Inherits DbConnection
Implements ICloneable
- 繼承
- 繼承
- 實作
範例
下列範例會建立 OleDbCommand 與 OleDbConnection。 會開啟 OleDbConnection,並設定為 OleDbCommand的 Connection。 然後,此範例會呼叫 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 超出範圍,則不會關閉。 因此,您必須藉由呼叫 Close 或 Dispose,或使用 Using
語句內的 OleDbConnection 對象,明確關閉連接。
注意
若要部署高效能應用程式,您必須使用連線共用。 當您使用 .NET Framework Data Provider for OLE DB 時,您不需要啟用連線共用,因為提供者會自動管理此專案。 如需如何搭配 .NET Framework Data Provider for OLE DB 使用聯機共用的詳細資訊,請參閱 OLE DB、ODBC 和 Oracle 連接共用。
如果執行 OleDbCommand的方法會產生嚴重 OleDbException(例如,SQL Server 嚴重性層級為 20 或更新版本),則 OleDbConnection 可能會關閉。 不過,用戶可以重新開啟連線並繼續。
建立 OleDbConnection 對象的實例的應用程式,可以藉由設定宣告式或命令式安全性需求,要求所有直接和間接呼叫者擁有足夠的程式碼許可權。 OleDbConnection 會使用 OleDbPermission 物件來提出安全性需求。 使用者可以使用 OleDbPermissionAttribute 對象,確認其程式代碼具有足夠的許可權。 用戶和系統管理員也可以使用 Caspol.exe(代碼存取安全策略工具) 修改計算機、使用者和企業層級的安全策略。 如需詳細資訊,請參閱 代碼存取安全性和 ADO.NET。
如需處理來自資料伺服器之警告和參考訊息的詳細資訊,請參閱 連接事件。
注意
OleDbConnection 物件不支援設定或擷取 OLE DB 提供者特定的動態屬性。 僅支援可在 OLE DB 提供者的連接字串中傳遞的屬性。
建構函式
OleDbConnection() |
初始化 OleDbConnection 類別的新實例。 |
OleDbConnection(String) |
使用指定的連接字串,初始化 OleDbConnection 類別的新實例。 |
屬性
CanCreateBatch |
取得值,這個值表示這個 DbConnection 實例是否支援 DbBatch 類別。 (繼承來源 DbConnection) |
CanRaiseEvents |
取得值,指出元件是否可以引發事件。 (繼承來源 Component) |
ConnectionString |
取得或設定用來開啟資料庫的字串。 |
ConnectionTimeout |
取得嘗試終止嘗試並產生錯誤之前,嘗試建立連線的時間(以秒為單位)。 |
Container |
取得包含 Component的 IContainer。 (繼承來源 Component) |
Database |
取得開啟連接之後要使用的目前資料庫或資料庫的名稱。 |
DataSource |
取得資料源的伺服器名稱或檔名。 |
DbProviderFactory |
取得這個 DbConnection的 DbProviderFactory。 (繼承來源 DbConnection) |
DesignMode |
取得值,這個值表示 Component 目前是否處於設計模式。 (繼承來源 Component) |
Events |
取得附加至這個 Component之事件處理程序的清單。 (繼承來源 Component) |
Provider |
取得連接字串之 「Provider=」 子句中指定的 OLE DB 提供者名稱。 |
ServerVersion |
取得字串,其中包含用戶端所連接的伺服器版本。 |
Site | (繼承來源 Component) |
State |
取得連接的目前狀態。 |
方法
事件
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) |
擴充方法
ConfigureAwait(IAsyncDisposable, Boolean) |
設定如何執行從異步可處置專案傳回的工作等候。 |