SqlDataAdapter コンストラクター

定義

オーバーロード

SqlDataAdapter()

SqlDataAdapter クラスの新しいインスタンスを初期化します。

SqlDataAdapter(SqlCommand)

SqlDataAdapter プロパティとして SqlCommand を指定して、SelectCommand クラスの新しいインスタンスを初期化します。

SqlDataAdapter(String, SqlConnection)

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

SqlDataAdapter(String, String)

SqlDataAdapter と接続文字列を指定して、SelectCommand クラスの新しいインスタンスを初期化します。

SqlDataAdapter()

SqlDataAdapter クラスの新しいインスタンスを初期化します。

public:
 SqlDataAdapter();
public SqlDataAdapter ();
Public Sub New ()

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

public static SqlDataAdapter CreateSqlDataAdapter(SqlConnection connection)
{
    // Assumes that connection is a valid SqlConnection object
    SqlDataAdapter adapter = new SqlDataAdapter();
    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the commands.
    adapter.SelectCommand = new SqlCommand(
        "SELECT CustomerID, CompanyName FROM CUSTOMERS", connection);
    adapter.InsertCommand = new SqlCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (@CustomerID, @CompanyName)", connection);
    adapter.UpdateCommand = new SqlCommand(
        "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
        "WHERE CustomerID = @oldCustomerID", connection);
    adapter.DeleteCommand = new SqlCommand(
        "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);

    // 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;
}

注釈

SqlDataAdapter インスタンスが作成されると、次の読み取り/書き込みプロパティが次の初期値に設定されます。

Properties 初期値
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

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

適用対象

SqlDataAdapter(SqlCommand)

SqlDataAdapter プロパティとして SqlCommand を指定して、SelectCommand クラスの新しいインスタンスを初期化します。

public:
 SqlDataAdapter(Microsoft::Data::SqlClient::SqlCommand ^ selectCommand);
public SqlDataAdapter (Microsoft.Data.SqlClient.SqlCommand selectCommand);
new Microsoft.Data.SqlClient.SqlDataAdapter : Microsoft.Data.SqlClient.SqlCommand -> Microsoft.Data.SqlClient.SqlDataAdapter
Public Sub New (selectCommand As SqlCommand)

パラメーター

selectCommand
SqlCommand

Transact-SQL SELECT ステートメントまたはストアド プロシージャである SqlCommandSelectCommandSqlDataAdapter プロパティとして設定されます。

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

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
    }
    public static SqlDataAdapter CreateSqlDataAdapter(SqlCommand selectCommand,
        SqlConnection connection)
    {
        SqlDataAdapter adapter = new SqlDataAdapter(selectCommand);
        adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

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

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

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

        // 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;
    }
}

注釈

コンストラクターのこの実装では、 SqlDataAdapter プロパティを SelectCommand パラメーターで指定された値に selectCommand 設定します。

SqlDataAdapter インスタンスが作成されると、次の読み取り/書き込みプロパティが次の初期値に設定されます。

Properties 初期値
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

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

(または他のコマンド プロパティのいずれか) が以前に作成SqlCommandされた に割り当てられている場合SelectCommandSqlCommand は複製されません。 は SelectCommand 、以前に作成 SqlCommand した オブジェクトへの参照を保持します。

適用対象

SqlDataAdapter(String, SqlConnection)

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

public:
 SqlDataAdapter(System::String ^ selectCommandText, Microsoft::Data::SqlClient::SqlConnection ^ selectConnection);
public SqlDataAdapter (string selectCommandText, Microsoft.Data.SqlClient.SqlConnection selectConnection);
new Microsoft.Data.SqlClient.SqlDataAdapter : string * Microsoft.Data.SqlClient.SqlConnection -> Microsoft.Data.SqlClient.SqlDataAdapter
Public Sub New (selectCommandText As String, selectConnection As SqlConnection)

パラメーター

selectCommandText
String

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

selectConnection
SqlConnection

接続を表す SqlConnection。 接続文字列で Integrated Security = trueを使用しない場合、 SqlCredential を使用することによって、接続文字列内でユーザー ID とパスワードをテキストとして指定する場合よりも安全にユーザー ID とパスワードを渡すことができます。

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

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
    }
    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;
    }
}

注釈

この の SqlDataAdapter 実装では、 がまだ開いていない場合は を SqlConnection 開いて閉じます。 これは、2 つ以上SqlDataAdapterのオブジェクトに対して メソッドをFill呼び出す必要があるアプリケーションで役立ちます。 SqlConnectionが既に開いている場合は、Close または Dispose を明示的に呼び出して閉じる必要があります。

SqlDataAdapter インスタンスが作成されると、次の読み取り/書き込みプロパティが次の初期値に設定されます。

Properties 初期値
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

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

適用対象

SqlDataAdapter(String, String)

SqlDataAdapter と接続文字列を指定して、SelectCommand クラスの新しいインスタンスを初期化します。

public:
 SqlDataAdapter(System::String ^ selectCommandText, System::String ^ selectConnectionString);
public SqlDataAdapter (string selectCommandText, string selectConnectionString);
new Microsoft.Data.SqlClient.SqlDataAdapter : string * string -> Microsoft.Data.SqlClient.SqlDataAdapter
Public Sub New (selectCommandText As String, selectConnectionString As String)

パラメーター

selectCommandText
String

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

selectConnectionString
String

接続文字列。 接続文字列が Integrated Security = true を使用しない場合は、SqlDataAdapter(String, SqlConnection)SqlCredential を使用すると、ユーザー ID とパスワードを接続文字列内のテキストとして指定する場合よりも安全に、ユーザー ID とパスワードを渡すことができます。

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

using Microsoft.Data.SqlClient;

class Program
{
    static void Main()
    {
    }
    public static SqlDataAdapter CreateSqlDataAdapter(string commandText,
        string connectionString)
    {
        SqlDataAdapter adapter = new SqlDataAdapter(commandText, connectionString);
        SqlConnection connection = adapter.SelectCommand.Connection;

        adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

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

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

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

        // 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;
    }
}

注釈

コンストラクターのこのオーバーロードでは、 SqlDataAdapter パラメーターを selectCommandText 使用して プロパティを SelectCommand 設定します。 では SqlDataAdapter 、 パラメーターを使用して作成された接続が作成され、 selectConnectionString 維持されます。

SqlDataAdapter インスタンスが作成されると、次の読み取り/書き込みプロパティが次の初期値に設定されます。

Properties 初期値
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

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

適用対象