OleDbDataAdapter コンストラクタ (String, OleDbConnection)
SelectCommand を使用して、OleDbDataAdapter クラスの新しいインスタンスを初期化します。
名前空間: System.Data.OleDb
アセンブリ: System.Data (system.data.dll 内)
構文
'宣言
Public Sub New ( _
selectCommandText As String, _
selectConnection As OleDbConnection _
)
'使用
Dim selectCommandText As String
Dim selectConnection As OleDbConnection
Dim instance As New OleDbDataAdapter(selectCommandText, selectConnection)
public OleDbDataAdapter (
string selectCommandText,
OleDbConnection selectConnection
)
public:
OleDbDataAdapter (
String^ selectCommandText,
OleDbConnection^ selectConnection
)
public OleDbDataAdapter (
String selectCommandText,
OleDbConnection selectConnection
)
public function OleDbDataAdapter (
selectCommandText : String,
selectConnection : OleDbConnection
)
パラメータ
- selectCommandText
SQL SELECT ステートメントまたはストアド プロシージャである文字列。この文字列は、OleDbDataAdapter の SelectCommand プロパティに使用されます。
- selectConnection
接続を表す OleDbConnection。
解説
OleDbDataAdapter の実装では、OleDbConnection が開いていない場合は、この接続が開かれ、再び閉じられます。これは、アプリケーションで複数の OleDbDataAdapter オブジェクトの Fill メソッドを呼び出す必要がある場合に効果的です。OleDbConnection が既に開いている場合、その接続を閉じるには、明示的に Close または Dispose を呼び出す必要があります。
OleDbDataAdapter のインスタンスを作成すると、次のように読み取り/書き込みプロパティが初期値に設定されます。
プロパティ |
初期値 |
---|---|
MissingMappingAction.Passthrough |
|
MissingSchemaAction.Add |
これらのプロパティの値は、各プロパティを個別に呼び出して変更できます。
使用例
OleDbDataAdapter を作成し、そのプロパティの一部を設定する例を次に示します。
Public Function CreateDataAdapter( _
ByVal connection As OleDbConnection) As OleDbDataAdapter
Dim selectCommand As String = _
"SELECT CustomerID, CompanyName FROM Customers"
Dim adapter As OleDbDataAdapter = _
New OleDbDataAdapter(selectCommand, connection)
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
' Create the commands.
adapter.InsertCommand = New OleDbCommand( _
"INSERT INTO Customers (CustomerID, CompanyName) " & _
"VALUES (?, ?)")
adapter.UpdateCommand = New OleDbCommand( _
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " & _
"WHERE CustomerID = ?")
adapter.DeleteCommand = New OleDbCommand( _
"DELETE FROM Customers WHERE CustomerID = ?")
' Create the parameters.
adapter.InsertCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID")
adapter.InsertCommand.Parameters.Add( _
"@CompanyName", OleDbType.VarChar, 40, "CompanyName")
adapter.UpdateCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID")
adapter.UpdateCommand.Parameters.Add( _
"@CompanyName", OleDbType.VarChar, 40, "CompanyName")
adapter.UpdateCommand.Parameters.Add( _
"@oldCustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
DataRowVersion.Original
adapter.DeleteCommand.Parameters.Add( _
"@CustomerID", OleDbType.Char, 5, "CustomerID").SourceVersion = _
DataRowVersion.Original
Return adapter
End Function
public static OleDbDataAdapter CreateDataAdapter(
OleDbConnection connection)
{
string selectCommand =
"SELECT CustomerID, CompanyName FROM Customers";
OleDbDataAdapter adapter =
new OleDbDataAdapter(selectCommand, connection);
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
// Create the Insert, Update and Delete commands.
adapter.InsertCommand = new OleDbCommand(
"INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (?, ?)");
adapter.UpdateCommand = new OleDbCommand(
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
"WHERE CustomerID = ?");
adapter.DeleteCommand = new OleDbCommand(
"DELETE FROM Customers WHERE CustomerID = ?");
// Create the parameters.
adapter.InsertCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.InsertCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.UpdateCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
adapter.DeleteCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
return adapter;
}
using System;
using System.Data;
using System.Data.OleDb;
class Class1
{
static void Main()
{
}
public static OleDbDataAdapter CreateDataAdapter(
OleDbConnection connection)
{
string selectCommand =
"SELECT CustomerID, CompanyName FROM Customers";
OleDbDataAdapter adapter =
new OleDbDataAdapter(selectCommand, connection);
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
// Create the Insert, Update and Delete commands.
adapter.InsertCommand = new OleDbCommand(
"INSERT INTO Customers (CustomerID, CompanyName) " +
"VALUES (?, ?)");
adapter.UpdateCommand = new OleDbCommand(
"UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
"WHERE CustomerID = ?");
adapter.DeleteCommand = new OleDbCommand(
"DELETE FROM Customers WHERE CustomerID = ?");
// Create the parameters.
adapter.InsertCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.InsertCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID");
adapter.UpdateCommand.Parameters.Add("@CompanyName",
OleDbType.VarChar, 40, "CompanyName");
adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
adapter.DeleteCommand.Parameters.Add("@CustomerID",
OleDbType.Char, 5, "CustomerID").SourceVersion =
DataRowVersion.Original;
return adapter;
}
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
参照
関連項目
OleDbDataAdapter クラス
OleDbDataAdapter メンバ
System.Data.OleDb 名前空間