Я использую 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 +).
Заранее спасибо.