2010-11-11 12 views
1

我有使用Microsoft Enterprise庫5以下代碼:企業庫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」。怎麼了?我能做些什麼來獲取刪除記錄的數量?

感謝, 盧西恩

回答

3

「當SET NOCOUNT爲ON時,計數(表示受一個Transact-SQL語句的行數)不會返回。」