Как я могу получить количество строк, затронутых оператором, используя ADO с JavaScript? - PullRequest
1 голос
/ 07 февраля 2010

Я использую ADO в сценарии хоста сценариев Windows JScript (диалект Microsoft JavaScript) для обновления таблицы SQL Server. Я хотел бы получить количество строк, затронутых обновлением в сценарии, но JavaScript не имеет передачи по ссылке, и поэтому я не могу сделать обычную вещь, когда получаю записи, затронутые из Command#Execute аргумент функции RecordsActed . Поэтому я ищу лучший способ получить эту информацию.

По причинам, не связанным непосредственно с этим запросом, я хочу избежать использования хранимой процедуры для этого, хотя я понимаю, что будет работать (я просто верну @@rowcount из SP). Я пытаюсь найти надежное, но простое не SP средство для этого.

Я оглянулся и нашел этот синтаксис для утверждения:

UPDATE MyTable
SET MyColumn = (blah blah blah)
WHERE (blah blah blah) ;
SELECT @@rowcount as 'RowsAffected'

... который возвращает мне одну строку ResultSet, содержащую счет. Кажется, что это работает, и в моем ограниченном тестировании, кажется, работает правильно (я не получаю неправильный счет, когда другие операции также происходят, и т. Д.), Но это кажется ... грязным по некоторым причинам.

Это лучший способ сделать это, учитывая, возможно, необоснованные ограничения, которые я перечислил? Кроссплатформенные решения не требуются (хотя, как всегда), это может быть связано с Microsoft SQL Server (2005 +).

Заранее спасибо.

1 Ответ

1 голос
/ 07 февраля 2010

Не уверен, почему вы думаете, что это грязно. Ничего плохого в этом подходе.

...