Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / [ADO] SP & Recordset / 4 сообщений из 4, страница 1 из 1
27.08.2002, 12:36:43
    #32046134
Terol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[ADO] SP & Recordset
Всем привет.
Есть хранимая процедура, которая возвращает рекордсет. Необходимо этот recordset инициализировать что бы в нем можно было работать со страницами. Обычный рекордсет получаемый из "select * from " работает на ура, а вот от хранимой процедуры не хочет - говорит Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.

код выглядит так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
var cmd = Server.CreateObject( "adodb.command" )
var rs = Server.CreateObject( "adodb.recordset" )
cmd.ActiveConnection = this.configurator.ConnectionString;
cmd.CommandText =  "sp_crm_"  +  this.page_id;
cmd.CommandType =  4  //adCmdStoredProc
rs.CursorType =  3 ; // adOpenStatic
rs.LockType =  1  // adLockReadOnly 
rs = cmd.Execute
if (!rs.BOF && !rs.EOF) {
   rs.PageSize = this.page_size;  
   rs.AbsolutePage = this.page_no; //  --вот тут он и затыкается
 


заранее спасибо
Станислав Свириденко
...
Рейтинг: 0 / 0
27.08.2002, 12:44:05
    #32046137
Makc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[ADO] SP & Recordset
Попробуй:
rs.cursorLocation=adUseClient
...
Рейтинг: 0 / 0
27.08.2002, 12:49:48
    #32046140
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[ADO] SP & Recordset
Также какой собственно провайдер в ConnectionString?
SQLOLEDB?
...
Рейтинг: 0 / 0
27.08.2002, 12:53:57
    #32046141
Terol
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[ADO] SP & Recordset
Спасибо всем откликнувшемся на вопрос. Проблему я решил. Необходимо просто по другому инициализировать Recordset. Вот правильный пример.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
var cmd = Server.CreateObject( "adodb.command" )
var trs = Server.CreateObject( "adodb.recordset" )
cmd.CommandText =  "sp_crm_"  +  this.page_id;
cmd.CommandType =  4  //adCmdStoredProc
trs.CursorLocation =  3 ;
trs.CursorType =  3 ; // adOpenStatic
trs.LockType =  1  // adLockReadOnly 
trs.Open(cmd) //  -- т.е. вот так открывать, а не trs = cmd.Execute
 
if (!trs.BOF && !trs.EOF) {
   trs.PageSize = this.page_size;
   trs.AbsolutePage = this.page_no;


Спасибо всем
Станислав Свириденко
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / [ADO] SP & Recordset / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]