Enterprise Library 5 - выполнить отрицательный результат без запроса

У меня есть следующий код, используя Microsoft Enterprise Library 5:

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

MyConStr правильно определен в app.config (он работает для других запросов на основе EL). SP DeleteCustomer определяется как:

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", даже если удаление работает нормально. В чем дело? Что я могу сделать, чтобы получить количество удаленных записей?

Спасибо, Lucian

1 ответ

Решение

"Когда задано значение SET NOCOUNT, счетчик (с указанием количества строк, затронутых оператором Transact-SQL) не возвращается".

Другие вопросы по тегам