Udostępnij za pośrednictwem


SqlDataAdapter Konstruktory

Definicja

Przeciążenia

SqlDataAdapter()

Inicjuje nowe wystąpienie klasy SqlDataAdapter.

SqlDataAdapter(SqlCommand)

Inicjuje SqlDataAdapter nowe wystąpienie klasy z określoną SqlCommand właściwością SelectCommand .

SqlDataAdapter(String, SqlConnection)

Inicjuje SqlDataAdapter nowe wystąpienie klasy za pomocą obiektu SelectCommand i SqlConnection .

SqlDataAdapter(String, String)

Inicjuje SqlDataAdapter nowe wystąpienie klasy za pomocą parametrów SelectCommand połączenia i .

SqlDataAdapter()

Inicjuje nowe wystąpienie klasy SqlDataAdapter.

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

Przykłady

Poniższy przykład tworzy obiekt SqlDataAdapter i ustawia niektóre z jego właściwości.

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

Uwagi

Po utworzeniu wystąpienia obiektu SqlDataAdapter następujące właściwości odczytu/zapisu są ustawione na następujące wartości początkowe.

Właściwości Wartość początkowa
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Wartość dowolnej z tych właściwości można zmienić za pomocą oddzielnego wywołania właściwości .

Dotyczy

SqlDataAdapter(SqlCommand)

Inicjuje SqlDataAdapter nowe wystąpienie klasy z określoną SqlCommand właściwością 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)

Parametry

selectCommand
SqlCommand

Element SqlCommand , który jest instrukcją Transact-SQL SELECT lub procedurą składowaną i jest ustawiany jako SelectCommand właściwość SqlDataAdapter.

Przykłady

Poniższy przykład tworzy obiekt SqlDataAdapter i ustawia niektóre z jego właściwości.

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

Uwagi

Ta implementacja konstruktora SqlDataAdapter ustawia SelectCommand właściwość na wartość określoną w parametrze selectCommand .

Po utworzeniu wystąpienia obiektu SqlDataAdapter następujące właściwości odczytu/zapisu są ustawione na następujące wartości początkowe.

Właściwości Wartość początkowa
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Wartość dowolnej z tych właściwości można zmienić za pomocą oddzielnego wywołania właściwości .

Gdy SelectCommand (lub dowolna z innych właściwości polecenia) jest przypisana do wcześniej utworzonego SqlCommandobiektu , SqlCommand element nie jest klonowany. Obiekt SelectCommand obsługuje odwołanie do wcześniej utworzonego SqlCommand obiektu.

Dotyczy

SqlDataAdapter(String, SqlConnection)

Inicjuje SqlDataAdapter nowe wystąpienie klasy za pomocą obiektu SelectCommand i 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)

Parametry

selectCommandText
String

Element String , który jest instrukcją Transact-SQL SELECT lub procedurą składowaną, która ma być używana przez SelectCommand właściwość SqlDataAdapter.

selectConnection
SqlConnection

Obiekt SqlConnection reprezentujący połączenie. Jeśli parametry połączenia nie używają Integrated Security = trueelementu , możesz użyć SqlCredential polecenia , aby bezpieczniej przekazać identyfikator użytkownika i hasło niż przez określenie identyfikatora użytkownika i hasła jako tekstu w parametrach połączenia.

Przykłady

Poniższy przykład tworzy obiekt SqlDataAdapter i ustawia niektóre z jego właściwości.

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

Uwagi

Ta implementacja otwiera SqlDataAdapter i zamyka SqlConnection element , jeśli nie jest jeszcze otwarty. Może to być przydatne w aplikacji, która musi wywołać metodę Fill dla co najmniej SqlDataAdapter dwóch obiektów. Jeśli obiekt SqlConnection jest już otwarty, należy jawnie wywołać metodę Close lub Dispose , aby go zamknąć.

Po utworzeniu wystąpienia obiektu SqlDataAdapter następujące właściwości odczytu/zapisu są ustawione na następujące wartości początkowe.

Właściwości Wartość początkowa
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Wartość jednej z tych właściwości można zmienić za pomocą oddzielnego wywołania właściwości .

Dotyczy

SqlDataAdapter(String, String)

Inicjuje SqlDataAdapter nowe wystąpienie klasy za pomocą parametrów SelectCommand połączenia i .

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

Element String , który jest instrukcją Transact-SQL SELECT lub procedurą składowaną, która ma być używana przez SelectCommand właściwość SqlDataAdapter.

selectConnectionString
String

Parametry połączenia. Jeśli parametry połączenia nie używają Integrated Security = trueelementu , można użyć polecenia SqlDataAdapter(String, SqlConnection) i SqlCredential w celu bezpieczniejszego przekazania identyfikatora użytkownika i hasła niż przez określenie identyfikatora użytkownika i hasła jako tekstu w parametrach połączenia.

Przykłady

Poniższy przykład tworzy obiekt SqlDataAdapter i ustawia niektóre z jego właściwości.

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

Uwagi

To przeciążenie konstruktora SqlDataAdapter używa parametru selectCommandText do ustawienia SelectCommand właściwości . Spowoduje to SqlDataAdapter utworzenie i utrzymanie połączenia utworzonego za pomocą parametru selectConnectionString .

Po utworzeniu wystąpienia obiektu SqlDataAdapter następujące właściwości odczytu/zapisu są ustawione na następujące wartości początkowe.

Właściwości Wartość początkowa
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

Wartość dowolnej z tych właściwości można zmienić za pomocą oddzielnego wywołania właściwości .

Dotyczy