IDbDataAdapter.UpdateCommand 属性

定义

获取或设置用于更新数据源中的记录的 SQL 语句。Gets or sets an SQL statement used to update records in the data source.

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

属性值

IDbCommand 过程中使用的 Update(DataSet),它针对数据集中已修改的行更新数据源中的记录。An IDbCommand used during Update(DataSet) to update records in the data source for modified rows in the data set.

示例

下面的示例创建继承的 OleDbDataAdapter 类的实例,并设置 SelectCommandUpdateCommand 属性。The following example creates an instance of the inherited OleDbDataAdapter class, and sets the SelectCommand and UpdateCommand properties. 假设您已经创建了一个 OleDbConnection 对象。It assumes 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

注解

Update期间,如果未设置此属性,并且 DataSet中存在主键信息,则在设置 .NET Framework 数据提供程序的 SelectCommand 属性时,可以自动生成 UpdateCommandDuring 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 of a .NET Framework data provider. 然后,CommandBuilder 将生成未设置的任何其他命令。Then, any additional commands that you do not set are generated by the CommandBuilder. 此代逻辑要求密钥列信息存在于 DataSet中。This generation logic requires key column information to be present in the DataSet. 有关详细信息,请参阅通过 Commandbuilder 生成命令For more information see Generating Commands with CommandBuilders.

UpdateCommand 分配给之前创建的 IDbCommand时,不会克隆 IDbCommandWhen UpdateCommand is assigned to a previously created IDbCommand, the IDbCommand is not cloned. UpdateCommand 维护对先前创建的 IDbCommand 对象的引用。The UpdateCommand maintains a reference to the previously created IDbCommand object.

备注

如果执行此命令将返回行,则会将这些行添加到 DataSet中。If execution of this command returns rows, these rows are added to the DataSet.

适用于