OdbcDataAdapter.DeleteCommand 属性

定义

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

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

属性值

OdbcCommand

在更新操作期间使用的 OdbcCommand,它用来删除数据源中与 DataSet 中已删除的行相对应的记录。An OdbcCommand used during an update operation to delete records in the data source that correspond to deleted rows in the DataSet.

示例

下面的示例创建一个 OdbcDataAdapter 并设置 SelectCommandDeleteCommand 属性。The following example creates an OdbcDataAdapter and sets the SelectCommand and DeleteCommand 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

注解

DeleteCommand 属性分配给以前创建的时 OdbcCommandOdbcCommand 不会克隆。When the DeleteCommand property is assigned to a previously created OdbcCommand, the OdbcCommand is not cloned. 相反, DeleteCommand 维护对先前创建的的引用 OdbcCommandInstead, the DeleteCommand maintains a reference to the previously created OdbcCommand.

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

适用于