SqlDataAdapter.DeleteCommand 属性    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取或设置一个 Transact-SQL 语句或存储过程,以从数据集删除记录。
public:
 property Microsoft::Data::SqlClient::SqlCommand ^ DeleteCommand { Microsoft::Data::SqlClient::SqlCommand ^ get(); void set(Microsoft::Data::SqlClient::SqlCommand ^ value); };
	public Microsoft.Data.SqlClient.SqlCommand DeleteCommand { get; set; }
	member this.DeleteCommand : Microsoft.Data.SqlClient.SqlCommand with get, set
	Public Property DeleteCommand As SqlCommand
	属性值
在 SqlCommand 过程中使用 Update(DataSet),以在数据库中删除对应于 DataSet 中已删除行的记录。
示例
以下示例创建 并 SqlDataAdapter 设置 SelectCommand、 InsertCommand、 UpdateCommand和 DeleteCommand 属性。 它假定你已创建对象 SqlConnection 。
using Microsoft.Data.SqlClient;
class Program
{
    static void Main()
    {
    }
    public static SqlDataAdapter CreateCustomerAdapter(
        SqlConnection connection)
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        // Create the SelectCommand.
        SqlCommand command = new SqlCommand("SELECT * FROM Customers " +
            "WHERE Country = @Country AND City = @City", connection);
        // Add the parameters for the SelectCommand.
        command.Parameters.Add("@Country", SqlDbType.NVarChar, 15);
        command.Parameters.Add("@City", SqlDbType.NVarChar, 15);
        adapter.SelectCommand = command;
        // Create the InsertCommand.
        command = new SqlCommand(
            "INSERT INTO Customers (CustomerID, CompanyName) " +
            "VALUES (@CustomerID, @CompanyName)", connection);
        // Add the parameters for the InsertCommand.
        command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
        command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");
        adapter.InsertCommand = command;
        // Create the UpdateCommand.
        command = new SqlCommand(
            "UPDATE Customers SET CustomerID = @CustomerID, CompanyName = @CompanyName " +
            "WHERE CustomerID = @oldCustomerID", connection);
        // Add the parameters for the UpdateCommand.
        command.Parameters.Add("@CustomerID", SqlDbType.NChar, 5, "CustomerID");
        command.Parameters.Add("@CompanyName", SqlDbType.NVarChar, 40, "CompanyName");
        SqlParameter parameter = command.Parameters.Add(
            "@oldCustomerID", SqlDbType.NChar, 5, "CustomerID");
        parameter.SourceVersion = DataRowVersion.Original;
        adapter.UpdateCommand = command;
        // Create the DeleteCommand.
        command = new SqlCommand(
            "DELETE FROM Customers WHERE CustomerID = @CustomerID", connection);
        // Add the parameters for the DeleteCommand.
        parameter = command.Parameters.Add(
            "@CustomerID", SqlDbType.NChar, 5, "CustomerID");
        parameter.SourceVersion = DataRowVersion.Original;
        adapter.DeleteCommand = command;
        return adapter;
    }
}
	注解
在 期间 Update,如果未设置此属性,并且中 DataSet存在主键信息, DeleteCommand 则可以在 设置 SelectCommand 属性并使用 SqlCommandBuilder时自动生成 。 然后,未设置的任何其他命令都由 SqlCommandBuilder生成。 此生成逻辑要求键列信息存在于 中 DataSet。 有关详细信息,请参阅使用 CommandBuilders 生成命令。
当 DeleteCommand 分配给之前创建的 SqlCommand时, SqlCommand 不会克隆 。 维护 DeleteCommand 对以前创建的 SqlCommand 对象的引用。
对于传播到 上的 Update数据源的每个列,都应将参数添加到 InsertCommand、 UpdateCommand或 DeleteCommand。 参数 SourceColumn 的 属性应设置为列的名称。 这表示参数的值不是手动设置的,而是从当前处理的行中的特定列获取的。