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
的 属性应设置为列的名称。 这表示参数的值不是手动设置的,而是从当前处理的行中的特定列获取的。