【问题标题】:Enterprise Library 5 - execute non query negative resultEnterprise Library 5 - 执行非查询否定结果
【发布时间】:2011-05-08 15:55:01
【问题描述】:

我有以下使用微软企业库 5 的代码:

Database database = DatabaseFactory.CreateDatabase("myConStr");
int rowsAffected = database.ExecuteNonQuery("[DeleteCustomer]", cboCustomers.SelectedItem.ToString());

myConStr 在 app.config 中正确定义(它适用于其他基于 EL 的查询)。 DeleteCustomer SP 定义为:

CREATE PROCEDURE DeleteCustomer
  @CustomerID nchar(5)
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    delete from dbo.Customers
    where CustomerID = @CustomerID
END

在 ExecuteNonQuery 方法的文档中,据说结果返回受影响的行数。

但是,即使删除工作正常,我总是得到结果“-1”。怎么了?如何获取已删除记录的数量?

谢谢, 卢锡安

【问题讨论】:

    标签: database stored-procedures enterprise-library-5


    【解决方案1】:

    “当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。”

    【讨论】:

      猜你喜欢
      • 2012-05-10
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2012-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      相关资源
      最近更新 更多