Horsun Vlad писал(а): > > Мне нужно получать RowsAffected только для > > INSERT/UPDATE/DELETE > > Я бы сказал, что тебе нужно получать RowsAffected > > а) когда попросит юзер - тут нужно возвращать святую правду > и ничего кроме правды
Ему можно сказать - нифига посчитать не могу (-1). Это лучше чем вернуть цифру, которая неизвестно что обозначает. > б) когда ты за него делал аналог INSERT/UPDATE/DELETE - тут ты > знаешь, что ты собирался делать и возвращать нужно соответствующее > значение > > Что я упустил ? Я за него ни чего не делаю - я только смотрю, что он хочет сделать. Хочет сделать INSERT - я возвращаю число вставленных рядов UPDATE - число обновленных рядов DELETE - удаленных Что-то другое - возвращаю -1. > > Для остальных - алгоритм должен вернуть -1. > Это не понято Ага, а если процедура удалит 3 ряда, изменит 4 им вставит 5, то RowsAffected равный 12-ти тебе будет понятен. > > Старый алгоритм получает > > Не нравится Кому не нравится? В сети полно алгоритмов которые именно так и работают. > > Мы имеем модификацию алгоритма, > > который теперь кладет на тип запроса > > и складывает все три > > числа. > Зачем он их складывает ??? А что ты с ними предлагаешь делать? В буфере всегда приходят три числа - для insert / update / delete > Сервер -1 никогда не возвращает. Я вообще не понимаю - > откуда у тебя такое требование. Спецификация OLEDB - не смог определить RowsAffected - верни (-1) > Считай правильно и никого не вводи в заблуждение. Для процедуры, > вообще говоря, понятия абстрактного RowsAffected не существует. > PS как вариант : если у тебя запрос вызывался в качестве INSERT, > возвращай клиенту кол-во вставленных строк и т.д. Я вот хотел сказать "Да елки моталки, приведи мне правильный код подсчета RowsAffected", но тут увидел твой PS Вопрос - кто мне скажет что запрос выполнился в качестве INSERT? Ваш сервер мне говорит, что это вовсе не INSERT (... RETURNING) - а вызов хранимой процедуры. Коваленко Дмитрий.

