Condividi tramite


SqlDataAdapter Costruttori

Definizione

Overload

SqlDataAdapter()

Inizializza una nuova istanza della classe SqlDataAdapter.

SqlDataAdapter(SqlCommand)

Inizializza una nuova istanza della classe SqlDataAdapter con l'oggetto SqlCommand specificato come la proprietà SelectCommand.

SqlDataAdapter(String, SqlConnection)

Consente di inizializzare una nuova istanza della classe SqlDataAdapter con una proprietà SelectCommand e un oggetto SqlConnection.

SqlDataAdapter(String, String)

Inizializza una nuova istanza della classe SqlDataAdapter con una proprietà SelectCommand e una stringa di connessione

SqlDataAdapter()

Inizializza una nuova istanza della classe SqlDataAdapter.

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

Esempio

L'esempio seguente crea un oggetto SqlDataAdapter e imposta alcune delle relative proprietà.

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

Commenti

Quando viene creata un'istanza di, le proprietà di SqlDataAdapter lettura/scrittura seguenti vengono impostate sui valori iniziali seguenti.

Proprietà Valore iniziale
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

È possibile modificare il valore di una di queste proprietà tramite una chiamata separata alla proprietà.

Si applica a

SqlDataAdapter(SqlCommand)

Inizializza una nuova istanza della classe SqlDataAdapter con l'oggetto SqlCommand specificato come la proprietà 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)

Parametri

selectCommand
SqlCommand

Oggetto SqlCommand che consiste in un'istruzione Transact-SQL SELECT o una stored procedure, impostato come la proprietà SelectCommand dell'oggetto SqlDataAdapter .

Esempio

L'esempio seguente crea un oggetto SqlDataAdapter e imposta alcune delle relative proprietà.

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

Commenti

Questa implementazione del SqlDataAdapter costruttore imposta la SelectCommand proprietà sul valore specificato nel selectCommand parametro.

Quando viene creata un'istanza di, le proprietà di SqlDataAdapter lettura/scrittura seguenti vengono impostate sui valori iniziali seguenti.

Proprietà Valore iniziale
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

È possibile modificare il valore di una di queste proprietà tramite una chiamata separata alla proprietà.

Quando SelectCommand (o una delle altre proprietà del comando) viene assegnata a un oggetto creato SqlCommandin precedenza , non SqlCommand viene clonato. Mantiene SelectCommand un riferimento all'oggetto creato SqlCommand in precedenza.

Si applica a

SqlDataAdapter(String, SqlConnection)

Consente di inizializzare una nuova istanza della classe SqlDataAdapter con una proprietà SelectCommand e un oggetto 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)

Parametri

selectCommandText
String

Oggetto String che consiste in un'istruzione Transact-SQL SELECT o in una stored procedure utilizzata dalla proprietà SelectCommand dell'oggetto SqlDataAdapter.

selectConnection
SqlConnection

Oggetto SqlConnection che rappresenta la connessione. Se la stringa di connessione non usa Integrated Security = true, è possibile usare SqlCredential per passare l'ID utente e la password in modo più sicuro che specificandoli come testo nella stringa di connessione.

Esempio

L'esempio seguente crea un oggetto SqlDataAdapter e imposta alcune delle relative proprietà.

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

Commenti

Questa implementazione dell'oggetto SqlDataAdapter apre e chiude un SqlConnection se non è già aperto. Questo può essere utile in un'applicazione che deve chiamare il Fill metodo per due o più SqlDataAdapter oggetti. Se l'oggetto SqlConnection è già aperto, è necessario chiamare in modo esplicito Close o Dispose per chiuderlo.

Quando viene creata un'istanza di, le proprietà di SqlDataAdapter lettura/scrittura seguenti vengono impostate sui valori iniziali seguenti.

Proprietà Valore iniziale
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

È possibile modificare il valore di una di queste proprietà tramite una chiamata separata alla proprietà.

Si applica a

SqlDataAdapter(String, String)

Inizializza una nuova istanza della classe SqlDataAdapter con una proprietà SelectCommand e una stringa di connessione

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)

Parametri

selectCommandText
String

Oggetto String che consiste in un'istruzione Transact-SQL SELECT o in una stored procedure utilizzata dalla proprietà SelectCommand dell'oggetto SqlDataAdapter.

selectConnectionString
String

Stringa di connessione. Se la stringa di connessione non utilizza Integrated Security = true, è possibile utilizzare SqlDataAdapter(String, SqlConnection) e SqlCredential per passare l'ID utente e la password in modo più sicuro che specificandoli come testo della stringa di connessione.

Esempio

L'esempio seguente crea un oggetto SqlDataAdapter e imposta alcune delle relative proprietà.

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

Commenti

Questo overload del SqlDataAdapter costruttore usa il selectCommandText parametro per impostare la SelectCommand proprietà. Verrà SqlDataAdapter creata e gestita la connessione creata con il selectConnectionString parametro .

Quando viene creata un'istanza di, le proprietà di SqlDataAdapter lettura/scrittura seguenti vengono impostate sui valori iniziali seguenti.

Proprietà Valore iniziale
MissingMappingAction MissingMappingAction.Passthrough
MissingSchemaAction MissingSchemaAction.Add

È possibile modificare il valore di una di queste proprietà tramite una chiamata separata alla proprietà.

Si applica a