Здравствуйте Serge2, Вы писали:
S>Привет всем! S>Имею иметь следующую ситуацию: S>В программе на VC подключаюсь к MS SQL2000 и S>вызываю хранимую процедуру. Результат запроса S>должен сохраняться в Recordset. S>Если внутри хранимой процедуры используется SELECT ..., то S>все работает нормально, S>если сначала идет INSERT ...., а затем идет SELECT ...., S>то выполняется только INSERT...., и естественно Recorset валится.
А ты точно уверен, что выполняется только Insert? Кстати, через что с базой работаешь?
S>Кстати если, наоборот, сначала SELECT...., затем INSERT..., то все OK. S>Но дело в том, что мне нужно сделать как раз наоборот внутри одной транзакции. S>Если кто-то сталкивался с подобной ситуацией, плз, подсажите в чем м.б. причина.
Наиболее вероятная причина — любой батч из SQL-предложений генерирует промежуточные результаты (типа числа обновленных записей и т.п.). В твоем случае первым результатом оказывается счетчик строк, вставленных insert'ом, а не результат select. Самый простой способ от этого избавится — вставить в начале процедуры SET NOCOUNT ON.