[ASP][MSSQL] Проблема с вызовом хранимой процедуры
От: Adward Россия http://www.sprut.ru
Дата: 10.10.06 21:45
Оценка:
Доброго времени суток всем.

Вызываю хранимую процедуру из ASP:
var Conn = Server.CreateObject("ADODB.Connection");
    Conn.Mode = 3;
    Conn.Open("skynet" , "", "");
    
var FindRecordset = Server.CreateObject("ADODB.Recordset");
        
    Conn.FindUser (-1,null,null,'Пет',null,null,null, FindRecordset);    
    
    Response.Write("fields.Count = " + FindRecordset.fields.Count);
    Response.Write("<br>");
    Response.Write("RecordCount = " + FindRecordset.RecordCount);
    
FindRecordset.Close();        
Conn.Close();

Результатом выполнения является:
fields.Count = 5
RecordCount = -1

тоесть, понятно, у меня есть на MSSQL 2000 некая хранимая процедура FindUser, с семью входящими параметрами, если я выполняю её в query analiser — процедура честно пробегается по всем таблицам, и сделав своё дело возвращает таблицу из 5 столбцов и n-ного количества строк, но почему же она себя так плохо ведёт при вызове из ASP?
самое интересное, что возвращаемое количество столбцов истинное, количество строк не то, чтобы ноль, а минус один (!!!)

Пробовал этот способ:
var Conn = Server.CreateObject("ADODB.Connection");
    Conn.Mode = 3;
    Conn.Open("skynet" , "", "");
    
var testSql = "exec [dbo].[FindUser] -1,NULL,NULL,'Пет',NULL,NULL,NULL";
var rd = Conn.Execute (testSql);        
    Response.Write("fields.Count = " + rd.fields.Count);        
    Response.Write("<BR>RecordCount = " + rd.RecordCount );

Conn.Close();

Результат один-в-один...

Поиск по архиву форума мне ничего не дал почему-то...

Буду благодарен любым коментариям.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.