OdbcDataAdapter.UpdateCommand 属性

定义

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

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

属性值

OdbcCommand,用于在更新操作期间在对应于 DataSet 中被修改行的数据源中更新记录。An OdbcCommand used during an update operation to update records in the data source that correspond to modified rows in the DataSet.

示例

下面的示例创建一个 OdbcDataAdapter,并设置 SelectCommandUpdateCommand 属性。The following example creates an OdbcDataAdapter and sets the SelectCommand and UpdateCommand properties. 假设您已经创建了一个 OdbcConnection 对象。It assumes that you have already created an OdbcConnection object.

public static OdbcDataAdapter CreateDataAdapter(
    OdbcConnection connection)
{
    string selectCommand =
        "SELECT CustomerID, CompanyName FROM Customers";

    OdbcDataAdapter adapter = new OdbcDataAdapter(
        selectCommand, connection);
    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;

    // Create the Insert, Update and Delete commands.
    adapter.InsertCommand = new OdbcCommand(
        "INSERT INTO Customers (CustomerID, CompanyName) " +
        "VALUES (?, ?)");

    adapter.UpdateCommand = new OdbcCommand(
        "UPDATE Customers SET CustomerID = ?, CompanyName = ? " +
        "WHERE CustomerID = ?");

    adapter.DeleteCommand = new OdbcCommand(
        "DELETE FROM Customers WHERE CustomerID = ?");

    // Create the parameters.
    adapter.InsertCommand.Parameters.Add("@CustomerID",
        OdbcType.Char, 5, "CustomerID");
    adapter.InsertCommand.Parameters.Add("@CompanyName",
        OdbcType.VarChar, 40, "CompanyName");

    adapter.UpdateCommand.Parameters.Add("@CustomerID",
        OdbcType.Char, 5, "CustomerID");
    adapter.UpdateCommand.Parameters.Add("@CompanyName",
        OdbcType.VarChar, 40, "CompanyName");
    adapter.UpdateCommand.Parameters.Add("@oldCustomerID",
        OdbcType.Char, 5, "CustomerID").SourceVersion =
        DataRowVersion.Original;

    adapter.DeleteCommand.Parameters.Add("@CustomerID",
        OdbcType.Char, 5, "CustomerID").SourceVersion =
        DataRowVersion.Original;

    return adapter;
}
Public Function CreateDataAdapter( _
    ByVal connection As OdbcConnection) As OdbcDataAdapter

    Dim selectCommand As String = _
        "SELECT CustomerID, CompanyName FROM Customers"
    Dim adapter As OdbcDataAdapter = _
        New OdbcDataAdapter(selectCommand, connection)

    adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey

    ' Create the Insert, Update and Delete commands.
    adapter.InsertCommand = New OdbcCommand( _
        "INSERT INTO Customers (CustomerID, CompanyName) " & _
         "VALUES (?, ?)")

    adapter.UpdateCommand = New OdbcCommand( _
        "UPDATE Customers SET CustomerID = ?, CompanyName = ? " & _
        "WHERE CustomerID = ?")

    adapter.DeleteCommand = New OdbcCommand( _
        "DELETE FROM Customers WHERE CustomerID = ?")

    ' Create the parameters.
    adapter.InsertCommand.Parameters.Add( _
        "@CustomerID", OdbcType.Char, 5, "CustomerID")
    adapter.InsertCommand.Parameters.Add( _
        "@CompanyName", OdbcType.VarChar, 40, "CompanyName")

    adapter.UpdateCommand.Parameters.Add( _
        "@CustomerID", OdbcType.Char, 5, "CustomerID")
    adapter.UpdateCommand.Parameters.Add( _
        "@CompanyName", OdbcType.VarChar, 40, "CompanyName")
    adapter.UpdateCommand.Parameters.Add( _
        "@oldCustomerID", OdbcType.Char, 5, "CustomerID").SourceVersion = _
        DataRowVersion.Original

    adapter.DeleteCommand.Parameters.Add( _
        "@CustomerID", OdbcType.Char, 5, "CustomerID").SourceVersion = _
        DataRowVersion.Original

    Return adapter
End Function

注解

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

在更新操作过程中,如果未设置 UpdateCommand 并且主键信息存在于 DataSet中,则可以使用 OdbcCommandBuilder 类来自动生成 UpdateCommand,并使用将 DataSet 与数据源进行协调所需的其他命令。During an update operation, if UpdateCommand is not set and primary key information is present in the DataSet, you can use the OdbcCommandBuilder class to automatically generate UpdateCommand, and additional commands needed to reconcile the DataSet to the data source. 为此,请设置 OdbcDataAdapterSelectCommand 属性。To do this, set the SelectCommand property of the OdbcDataAdapter. 生成逻辑还要求密钥列信息存在于 DataSet中。The generation logic also requires key column information to be present in the DataSet. 有关详细信息,请参阅通过 Commandbuilder 生成命令For more information, see Generating Commands with CommandBuilders.

备注

如果执行此命令时返回行,则这些行可能与 DataSet 合并,具体取决于您设置 OdbcCommand 对象的 UpdatedRowSource 属性的方式。If execution of this command returns rows, these rows may be merged with the DataSet depending upon how you set the UpdatedRowSource property of the OdbcCommand object.

适用于