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 データ プロバイダの名前空間内のすべてのクラスに付けられるプリフィックスです。たとえば、 Sql は System.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 内)