OleDbDataAdapter.UpdateCommand 属性

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

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

语法

声明
Public Property UpdateCommand As OleDbCommand
用法
Dim instance As OleDbDataAdapter
Dim value As OleDbCommand

value = instance.UpdateCommand

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

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

public function set UpdateCommand (value : OleDbCommand)

属性值

Update 过程中使用的 OleDbCommand,用于更新数据源中与 DataSet 中已修改的行相对应的记录。

备注

Update 过程中,如果未设置此属性而且 DataSet 中存在主键信息,那么在设置 SelectCommand 属性并使用 OleDbCommandBuilder 的情况下,可以自动生成 UpdateCommand。然后,OleDbCommandBuilder 将生成其他任何未设置的命令。此生成逻辑要求 DataSet 中存在键列信息。有关更多信息,请参见 自动生成命令

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

提示

如果执行此命令后返回行,这些行可能会与 DataSet 合并,具体取决于如何设置 OleDbCommand 对象的 .Data.OleDb.OleDbCommand.UpdatedRowSource 属性。

示例

下面的示例创建一个 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 Millennium Edition、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

请参见

参考

OleDbDataAdapter 类
OleDbDataAdapter 成员
System.Data.OleDb 命名空间

其他资源

使用 DataAdapter