IDbDataAdapter.UpdateCommand Proprietà

Definizione

Ottiene o imposta un'istruzione SQL utilizzata per aggiornare i record nell'origine dati.

public System.Data.IDbCommand? UpdateCommand { get; set; }
public System.Data.IDbCommand UpdateCommand { get; set; }

Valore della proprietà

Interfaccia IDbCommand utilizzata durante l'operazione di Update(DataSet) per aggiornare i record nell'origine dati relativi alle righe modificate nel set di dati.

Esempio

Nell'esempio seguente viene creata un'istanza della classe ereditata OleDbDataAdapter e vengono impostate le SelectCommand proprietà e UpdateCommand . Presuppone che sia già stato creato un OleDbConnection oggetto .

private static OleDbDataAdapter CreateCustomerAdapter(
    OleDbConnection connection)
{
    OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
    OleDbCommand command;
    OleDbParameter parameter;

    // Create the SelectCommand.
    command = new OleDbCommand("SELECT * FROM dbo.Customers " +
        "WHERE Country = ? AND City = ?", connection);

    command.Parameters.Add("Country", OleDbType.VarChar, 15);
    command.Parameters.Add("City", OleDbType.VarChar, 15);

    dataAdapter.SelectCommand = command;

    // Create the UpdateCommand.
    command = new OleDbCommand(
        "UPDATE dbo.Customers SET CustomerID = ?, CompanyName = ? " +
        "WHERE CustomerID = ?", connection);

    command.Parameters.Add(
        "CustomerID", OleDbType.Char, 5, "CustomerID");
    command.Parameters.Add(
        "CompanyName", OleDbType.VarChar, 40, "CompanyName");

    parameter = command.Parameters.Add(
        "oldCustomerID", OleDbType.Char, 5, "CustomerID");
    parameter.SourceVersion = DataRowVersion.Original;

    dataAdapter.UpdateCommand = command;

    return dataAdapter;
}

Commenti

Durante Update, se questa proprietà non è impostata e le informazioni sulla chiave primaria sono presenti in DataSet, è UpdateCommand possibile generare automaticamente se si imposta la SelectCommand proprietà di un provider di dati .NET Framework. Quindi, tutti i comandi aggiuntivi non impostati vengono generati da CommandBuilder. Questa logica di generazione richiede che le informazioni sulla colonna chiave siano presenti in DataSet. Per altre informazioni, vedere Generazione di comandi con CommandBuilders.

Quando UpdateCommand viene assegnato a un oggetto creato IDbCommandin precedenza, l'oggetto IDbCommand non viene clonato. Mantiene UpdateCommand un riferimento all'oggetto creato IDbCommand in precedenza.

Nota

Se l'esecuzione di questo comando restituisce righe, queste righe vengono aggiunte a DataSet.

Si applica a

Prodotto Versioni
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1