Enterprise Library 5 - выполнить отрицательный результат без запроса - PullRequest
1 голос
/ 11 ноября 2010

У меня есть следующий код с использованием корпоративной библиотеки Microsoft 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 Ответ

3 голосов
/ 11 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...