IDbDataAdapter.UpdateCommand 属性

获取或设置用于更新数据源中的记录的 SQL 语句。

**命名空间:**System.Data
**程序集:**System.Data(在 system.data.dll 中)

语法

声明
Property UpdateCommand As IDbCommand
用法
Dim instance As IDbDataAdapter
Dim value As IDbCommand

value = instance.UpdateCommand

instance.UpdateCommand = value
IDbCommand UpdateCommand { get; set; }
property IDbCommand^ UpdateCommand {
    IDbCommand^ get ();
    void set (IDbCommand^ value);
}
/** @property */
IDbCommand get_UpdateCommand ()

/** @property */
void set_UpdateCommand (IDbCommand value)
function get UpdateCommand () : IDbCommand

function set UpdateCommand (value : IDbCommand)

属性值

Update 过程中使用的 IDbCommand,它针对数据集中已修改的行更新数据源中的记录。

备注

Update 过程中,如果未设置此属性,且 DataSet 中存在主键信息,那么当设置 .NET Framework 数据提供程序的 SelectCommand 属性时,可以自动生成 UpdateCommand。然后,未设置的任何其他命令都由 CommandBuilder 生成。此生成逻辑要求 DataSet 中存在键列信息。有关更多信息,请参见 自动生成命令

在将 UpdateCommand 分配给以前创建的 IDbCommand 时,不克隆 IDbCommandUpdateCommand 维护对以前创建的 IDbCommand 对象的引用。

提示

如果执行此命令后返回行,就会将这些行添加到 DataSet 中。

示例

下面的示例创建继承的 OleDbDataAdapter 类的实例,并设置 SelectCommandUpdateCommand 属性。假定已经创建了一个 OleDbConnection 对象。

Private Function CreateCustomerAdapter( _
    ByVal connection As OleDbConnection) As OleDbDataAdapter

    Dim dataAdapter As OleDbDataAdapter = 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
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;
}

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

IDbDataAdapter 接口
IDbDataAdapter 成员
System.Data 命名空间