Condividi tramite


IDbDataAdapter.UpdateCommand Proprietà

Definizione

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

public:
 property System::Data::IDbCommand ^ UpdateCommand { System::Data::IDbCommand ^ get(); void set(System::Data::IDbCommand ^ value); };
public System.Data.IDbCommand? UpdateCommand { get; set; }
public System.Data.IDbCommand UpdateCommand { get; set; }
member this.UpdateCommand : System.Data.IDbCommand with get, set
Public Property UpdateCommand As IDbCommand

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;
}
Private Function CreateCustomerAdapter( _
    ByVal connection As OleDbConnection) As OleDbDataAdapter

    Dim dataAdapter As New OleDbDataAdapter()
    Dim command As OleDbCommand
    Dim parameter As OleDbParameter

    ' 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
End Function

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