OleDbDataAdapter.UpdateCommand Propriedade

Definição

Obtém ou define uma instrução SQL ou um procedimento armazenado usado para atualizar registros na fonte de dados.Gets or sets an SQL statement or stored procedure used to update records in the data source.

public:
 property System::Data::OleDb::OleDbCommand ^ UpdateCommand { System::Data::OleDb::OleDbCommand ^ get(); void set(System::Data::OleDb::OleDbCommand ^ value); };
[System.Data.DataSysDescription("DbDataAdapter_UpdateCommand")]
public System.Data.OleDb.OleDbCommand UpdateCommand { get; set; }
member this.UpdateCommand : System.Data.OleDb.OleDbCommand with get, set
Public Property UpdateCommand As OleDbCommand

Valor da propriedade

Um OleDbCommand usado durante Update(DataSet) para atualizar registros na fonte de dados que correspondem a linhas modificadas no DataSet.An OleDbCommand used during Update(DataSet) to update records in the data source that correspond to modified rows in the DataSet.

Atributos

Exemplos

O exemplo a seguir cria OleDbDataAdapter um e define SelectCommand as UpdateCommand Propriedades e.The following example creates an OleDbDataAdapter and sets the SelectCommand and UpdateCommand properties. Ele pressupõe que você já criou um OleDbConnection objeto.It assumes that you have already created an OleDbConnection object.

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

Comentários

Durante Update, se essa propriedade não for definida e as informações de chave primária estiverem presentes DataSetno, UpdateCommand o poderá ser gerado automaticamente se você definir SelectCommand a propriedade e usar OleDbCommandBuildero.During Update, if this property is not set and primary key information is present in the DataSet, the UpdateCommand can be generated automatically if you set the SelectCommand property and use the OleDbCommandBuilder. Em seguida, os comandos adicionais que você não definir serão gerados pelo OleDbCommandBuilder.Then, any additional commands that you do not set are generated by the OleDbCommandBuilder. Esta lógica de geração requer que as informações da coluna principal estejam presente no DataSet.This generation logic requires key column information to be present in the DataSet. Para obter mais informações, consulte gerando comandos com CommandBuilders.For more information, see Generating Commands with CommandBuilders.

Quando UpdateCommand é atribuído a um criado OleDbCommandanteriormente, o OleDbCommand não é clonado.When UpdateCommand is assigned to a previously created OleDbCommand, the OleDbCommand is not cloned. O UpdateCommand mantém uma referência ao objeto criado OleDbCommand anteriormente.The UpdateCommand maintains a reference to the previously created OleDbCommand object.

Observação

Se a execução desse comando retornar linhas, essas linhas poderão ser mescladas com o DataSet dependendo de como você define a UpdatedRowSource Propriedade do OleDbCommand objeto.If execution of this command returns rows, these rows may be merged with the DataSet depending on how you set the UpdatedRowSource property of the OleDbCommand object.

Aplica-se a