次の方法で共有


SqlDataAdapter コンストラクタ (String, SqlConnection)

SelectCommand オブジェクトと SqlConnection オブジェクトを指定して、SqlDataAdapter クラスの新しいインスタンスを初期化します。

名前空間: System.Data.SqlClient
アセンブリ: System.Data (system.data.dll 内)

構文

'宣言
Public Sub New ( _
    selectCommandText As String, _
    selectConnection As SqlConnection _
)
'使用
Dim selectCommandText As String
Dim selectConnection As SqlConnection

Dim instance As New SqlDataAdapter(selectCommandText, selectConnection)
public SqlDataAdapter (
    string selectCommandText,
    SqlConnection selectConnection
)
public:
SqlDataAdapter (
    String^ selectCommandText, 
    SqlConnection^ selectConnection
)
public SqlDataAdapter (
    String selectCommandText, 
    SqlConnection selectConnection
)
public function SqlDataAdapter (
    selectCommandText : String, 
    selectConnection : SqlConnection
)

パラメータ

  • selectCommandText
    Transact-SQL SELECT ステートメントまたはストアド プロシージャである StringSqlDataAdapterSelectCommand プロパティによって使用されます。

解説

SqlDataAdapter の実装では、SqlConnection が開いていない場合は、接続が開かれ、再び閉じられます。これは、アプリケーションで複数の SqlDataAdapter オブジェクトの Fill メソッドを呼び出す必要がある場合に効果的です。SqlConnection が既に開いている場合、その接続を閉じるには、明示的に Close または Dispose を呼び出す必要があります。

SqlDataAdapter のインスタンスを作成すると、次のように各読み書き可能プロパティが初期値に設定されます。

プロパティ

初期値

MissingMappingAction

MissingMappingAction.Passthrough

MissingSchemaAction

MissingSchemaAction.Add

これらのプロパティの値は、各プロパティを個別に呼び出して変更できます。

使用例

SqlDataAdapter を作成し、そのプロパティの一部を設定する例を次に示します。

Public Function CreateSqlDataAdapter(ByVal commandText As String, _
    ByVal connection As SqlConnection) As SqlDataAdapter

    Dim adapter As SqlDataAdapter = New SqlDataAdapter(commandText, connection)

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey

    ' Create the commands.
    adapter.InsertCommand = New SqlCommand( _
        "INSERT INTO Customers (CustomerID, CompanyName) " & _
         "VALUES (@CustomerID, @CompanyName)")

    adapter.UpdateCommand = New SqlCommand( _
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " & _
        "WHERE CustomerID = @oldCustomerID")

    adapter.DeleteCommand = New SqlCommand( _
        "DELETE FROM Customers WHERE CustomerID = @CustomerID")

    ' Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID", _
        SqlDbType.Char, 5, "CustomerID")
    adapter.InsertCommand.Parameters.Add("@CompanyName", _
        SqlDbType.VarChar, 40, "CompanyName")

    adapter.UpdateCommand.Parameters.Add("@CustomerID", _
        SqlDbType.Char, 5, "CustomerID")
    adapter.UpdateCommand.Parameters.Add("@CompanyName", _
        SqlDbType.VarChar, 40, "CompanyName")
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID", _
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original

    adapter.DeleteCommand.Parameters.Add("@CustomerID", _
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original

    Return adapter
End Function
public static SqlDataAdapter CreateSqlDataAdapter(string commandText,
    SqlConnection connection)
{
    SqlDataAdapter adapter = new SqlDataAdapter(commandText, connection);

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the other commands.
    adapter.InsertCommand = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)");

    adapter.UpdateCommand = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID");

    adapter.DeleteCommand = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID");

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID", 
        SqlDbType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName", 
        SqlDbType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID", 
        SqlDbType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName", 
        SqlDbType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID", 
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID", 
        SqlDbType.Char, 5, "CustomerID").SourceVersion = DataRowVersion.Original;

    return adapter;
}

プラットフォーム

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, 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

.NET Compact Framework

サポート対象 : 2.0、1.0

参照

関連項目

SqlDataAdapter クラス
SqlDataAdapter メンバ
System.Data.SqlClient 名前空間

その他の技術情報

ADO.NET でのデータの変更
.NET Framework Data Provider for SQL Server の使用