次の方法で共有


IDbConnection インターフェイス

データ ソースへの開いている接続を表します。リレーショナル データベースにアクセスする .NET Framework データ プロバイダによって実装されます。

この型のすべてのメンバの一覧については、IDbConnection メンバ を参照してください。

System.IDisposable
   System.Data.IDbConnection

Public Interface IDbConnection
   Inherits IDisposable
[C#]
public interface IDbConnection : IDisposable
[C++]
public __gc __interface IDbConnection : public IDisposable
[JScript]
public interface IDbConnection implements IDisposable

IDbConnection を実装するクラス

クラス 説明
OdbcConnection データ ソースへの開いた接続を表します。
OleDbConnection データ ソースへの開いた接続を表します。
OracleConnection データベースへの開いた接続を表します。このクラスは継承できません。
SqlCeConnection データ ソースへの開いた接続を表します。
SqlConnection SQL Server データベースへの開いた接続を表します。このクラスは継承できません。

解説

IDbConnection インターフェイスによって、継承クラスはデータ ソースとの一意のセッション (サーバーへのネットワーク接続など) を表す Connection クラスを実装できます。Connection クラスの詳細については、「 ADO.NET でのデータ ソースへの接続 」を参照してください。.NET Framework データ プロバイダの実装の詳細については、「 .NET Framework データ プロバイダの実装 」を参照してください。

アプリケーションでは IDbConnection インターフェイスのインスタンスは直接作成されず、 IDbConnection を継承するクラスのインスタンスが作成されます。

IDbConnection を継承するクラスは、すべての継承されたメンバを実装する必要があり、通常、プロバイダ固有の機能を追加する追加メンバを定義する必要があります。たとえば、 IDbConnection インターフェイスは ConnectionTimeout プロパティを定義します。次に、 SqlConnection クラスがこのプロパティを継承し、 PacketSize プロパティを定義します。

実装時の注意: .NET Framework データ プロバイダ間に一貫性を持たせるために、継承クラスには PrvClassname という形式の名前を付けてください。 Prv は各 .NET Framework データ プロバイダの名前空間内のすべてのクラスに付けられるプリフィックスです。たとえば、 SqlSystem.Data.SqlClient 名前空間内の SqlConnection クラスのプリフィックスです。

IDbConnection インターフェイスから継承する場合は、次のコンストラクタを実装する必要があります。

項目 説明
PrvConnection() PrvConnection クラスの新しいインスタンスを初期化します。
PrvConnection(string connectionString) 接続文字列を格納している文字列が指定されている場合、PrvConnection クラスの新しいインスタンスを初期化します。

使用例

[Visual Basic, C#, C++] 派生クラス SqlCommand および SqlConnection のインスタンスを作成する例を次に示します。 SqlConnection が開かれ、 SqlCommand 用の Connection として設定されます。この例では、次に、 ExecuteNonQuery を呼び出し、接続を閉じます。そのために、接続文字列と、Transact-SQL INSERT ステートメントであるクエリ文字列を ExecuteNonQuery に渡します。

 
Public Sub InsertRow(myConnectionString As String)
    ' If the connection string is null, use a default.
    If myConnectionString = "" Then
        myConnectionString = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;"
    End If
    Dim myConnection As New SqlConnection(myConnectionString)
    Dim myInsertQuery As String = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')"
    Dim myCommand As New SqlCommand(myInsertQuery)
    myCommand.Connection = myConnection
    myConnection.Open()
    myCommand.ExecuteNonQuery()
    myCommand.Connection.Close()
End Sub 'SelectSqlClientSrvRows

[C#] 
public void InsertRow(string myConnectionString) 
 {
    // If the connection string is null, use a default.
    if(myConnectionString == "") 
    {
       myConnectionString = "Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
    }
    SqlConnection myConnection = new SqlConnection(myConnectionString);
    string myInsertQuery = "INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    SqlCommand myCommand = new SqlCommand(myInsertQuery);
    myCommand.Connection = myConnection;
    myConnection.Open();
    myCommand.ExecuteNonQuery();
    myCommand.Connection.Close();
 }

[C++] 
public:
void InsertRow(String* myConnectionString) 
 {
    // If the connection string is null, use a default.
    if(myConnectionString->Equals(S""))
    {
       myConnectionString = S"Initial Catalog=Northwind;Data Source=localhost;Integrated Security=SSPI;";
    }
    SqlConnection* myConnection = new SqlConnection(myConnectionString);
    String* myInsertQuery = S"INSERT INTO Customers (CustomerID, CompanyName) Values('NWIND', 'Northwind Traders')";
    SqlCommand* myCommand = new SqlCommand(myInsertQuery);
    myCommand->Connection = myConnection;
    myConnection->Open();
    myCommand->ExecuteNonQuery();
    myCommand->Connection->Close();
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Data

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: System.Data (System.Data.dll 内)

参照

IDbConnection メンバ | System.Data 名前空間