Доброго времени суток всем.
Вызываю хранимую процедуру из 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();
Результат один-в-один...
Поиск по архиву форума мне ничего не дал почему-то...
Буду благодарен любым коментариям.