Sdílet prostřednictvím


SqlDataAdapter Konstruktory

Definice

Přetížení

SqlDataAdapter()

Inicializuje novou instanci SqlDataAdapter třídy .

SqlDataAdapter(SqlCommand)

Inicializuje novou instanci SqlDataAdapter třídy se zadanou SqlCommand jako SelectCommand vlastnost .

SqlDataAdapter(String, SqlConnection)

Inicializuje novou instanci SqlDataAdapter třídy s objektem SelectCommandSqlConnection a .

SqlDataAdapter(String, String)

Inicializuje novou instanci SqlDataAdapter třídy s SelectCommand a připojovací řetězec.

SqlDataAdapter()

Inicializuje novou instanci SqlDataAdapter třídy .

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

Příklady

Následující příklad vytvoří SqlDataAdapter a nastaví některé jeho vlastnosti.

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

Poznámky

Při vytvoření instance SqlDataAdapter jsou následující vlastnosti pro čtení a zápis nastaveny na následující počáteční hodnoty.

Vlastnosti Počáteční hodnota
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Hodnotu kterékoli z těchto vlastností můžete změnit prostřednictvím samostatného volání vlastnosti .

Platí pro

SqlDataAdapter(SqlCommand)

Inicializuje novou instanci SqlDataAdapter třídy se zadanou SqlCommand jako SelectCommand vlastnost .

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)

Parametry

selectCommand
SqlCommand

To SqlCommand je příkaz Select jazyka Transact-SQL nebo uložená procedura a je nastaven jako SelectCommand vlastnost SqlDataAdapter.

Příklady

Následující příklad vytvoří SqlDataAdapter a nastaví některé jeho vlastnosti.

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

Poznámky

Tato implementace konstruktoru SqlDataAdapter nastaví SelectCommand vlastnost na hodnotu zadanou v parametru selectCommand .

Při vytvoření instance SqlDataAdapter jsou následující vlastnosti pro čtení a zápis nastaveny na následující počáteční hodnoty.

Vlastnosti Počáteční hodnota
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Hodnotu kterékoli z těchto vlastností můžete změnit prostřednictvím samostatného volání vlastnosti .

Pokud SelectCommand je dříve vytvořenému SqlCommandpříkazu přiřazena (nebo kterákoli z dalších vlastností příkazu), SqlCommand není klonován. Objekt SelectCommand udržuje odkaz na dříve vytvořený SqlCommand objekt.

Platí pro

SqlDataAdapter(String, SqlConnection)

Inicializuje novou instanci SqlDataAdapter třídy s objektem SelectCommandSqlConnection a .

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)

Parametry

selectCommandText
String

A String , který je příkazEm SELECT jazyka Transact-SQL nebo uloženou procedurou, která SelectCommand má být použita vlastností SqlDataAdapter.

selectConnection
SqlConnection

A SqlConnection , který představuje připojení. Pokud váš připojovací řetězec nepoužívá Integrated Security = true, můžete pomocí příkazu SqlCredential předat ID uživatele a heslo bezpečněji než zadáním ID uživatele a hesla jako textu v připojovacím řetězci.

Příklady

Následující příklad vytvoří SqlDataAdapter a nastaví některé jeho vlastnosti.

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

Poznámky

Tato implementace otevře SqlDataAdapter a zavře, SqlConnection pokud již není otevřen. To může být užitečné v aplikaci, která musí volat metodu Fill pro dva nebo více SqlDataAdapter objektů. SqlConnection Pokud je již otevřen, musíte ho zavřít explicitně voláním příkazu Close nebo Dispose.

Při vytvoření instance SqlDataAdapter jsou následující vlastnosti pro čtení a zápis nastaveny na následující počáteční hodnoty.

Vlastnosti Počáteční hodnota
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Hodnotu některé z těchto vlastností můžete změnit prostřednictvím samostatného volání vlastnosti .

Platí pro

SqlDataAdapter(String, String)

Inicializuje novou instanci SqlDataAdapter třídy s SelectCommand a připojovací řetězec.

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)

Parametry

selectCommandText
String

A String , který je příkazEm SELECT jazyka Transact-SQL nebo uloženou procedurou, která SelectCommand má být použita vlastností SqlDataAdapter.

selectConnectionString
String

Připojovací řetězec Pokud váš připojovací řetězec nepoužívá Integrated Security = true, můžete pomocí a SqlDataAdapter(String, SqlConnection)SqlCredential předat ID uživatele a heslo bezpečněji než zadáním ID uživatele a hesla jako textu v připojovacím řetězci.

Příklady

Následující příklad vytvoří SqlDataAdapter a nastaví některé jeho vlastnosti.

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

Poznámky

Toto přetížení konstruktoru SqlDataAdapterselectCommandText používá parametr k nastavení SelectCommand vlastnosti . Vytvoří SqlDataAdapter a udržuje připojení vytvořené pomocí parametru selectConnectionString .

Při vytvoření instance SqlDataAdapter jsou následující vlastnosti pro čtení a zápis nastaveny na následující počáteční hodnoty.

Vlastnosti Počáteční hodnota
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Hodnotu kterékoli z těchto vlastností můžete změnit prostřednictvím samostatného volání vlastnosti .

Platí pro