powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как задать курсор в ADO?
9 сообщений из 9, страница 1 из 1
Как задать курсор в ADO?
    #37529593
Николай А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "servername", "username", "password"
Set cmdTemp = Server.CreateObject("ADODB.Command")
Set cmdTemp.ActiveConnection = conn

set records = conn.Execute ("SELECT ...")
Response.Write records.CursorType

Который выдаёт 0, то есть курсор задан adOpenForwardOnly

Я хочу изменить вид курсора, пробую делать это либо так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "servername", "username", "password"
Set cmdTemp = Server.CreateObject("ADODB.Command")
Set cmdTemp.ActiveConnection = conn

set records = Server.CreateObject("ADODB.recordset")
records.CursorType = adOpenDynamic
records = conn.Execute ("SELECT ...")
Response.Write records.CursorType

Получаю ошибку: "Ошибка выполнения Microsoft VBScript ошибка '800a01b6' .Объект не поддерживает это свойство или метод: 'CursorType'"

Либо так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "servername", "username", "password"
Set cmdTemp = Server.CreateObject("ADODB.Command")
Set cmdTemp.ActiveConnection = conn

set records = conn.Execute ("SELECT ...")
records.CursorType = adOpenDynamic
Response.Write records.CursorType

Получаю ошибку: 'ADODB.Recordset ошибка '800a0e79'. Операция не допускается, если объект открыт.'

Как мне правильно задать вид курсора, отличный от курсора по умолчанию adOpenForwardOnly?
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37529719
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай А.Операция не допускается, если объект открыт.'так а что непонятного в ошибке, вроде ж по-русски....

сначала надо менять курсор, а потом уже открывать рекордсет (execute)
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37529767
Николай А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНиколай А.Операция не допускается, если объект открыт.'так а что непонятного в ошибке, вроде ж по-русски....

сначала надо менять курсор, а потом уже открывать рекордсет (execute)

А как это правильно написать? Какой код должен быть после "records.CursorType = adOpenDynamic"?
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37529792
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set rs = CreateObject("Adodb.Recordset")
rs.Open "select ...", conn, <вид блокировки, по умолчанию readonly>, <тип курсора, по умолчанию forward only>

Set rs = conn.Execute это запрос с блокировкой и курсором по умолчанию.
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37529798
Николай А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariySet rs = CreateObject("Adodb.Recordset")
rs.Open "select ...", conn, <вид блокировки, по умолчанию readonly>, <тип курсора, по умолчанию forward only>

Set rs = conn.Execute это запрос с блокировкой и курсором по умолчанию.

Понятно
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37529800
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай А.А как это правильно написать? Какой код должен быть после "records.CursorType = adOpenDynamic"?execute
то бишь строки поменять местами
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37530058
Николай А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProНиколай А.А как это правильно написать? Какой код должен быть после "records.CursorType = adOpenDynamic"?execute
то бишь строки поменять местами

У меня в первом случае так и есть, я только не знаю, как его правильно записать.

Antonariy говорит, что в этом случае execute не пройдёт, только open.

Set rs = CreateObject("Adodb.Recordset")
rs.Open "select ...", conn, <вид блокировки, по умолчанию readonly>, <тип курсора, по умолчанию forward only>

так всё получилось
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37530384
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай А.Shocker.Proпропущено...
execute
то бишь строки поменять местами

У меня в первом случае так и есть, я только не знаю, как его правильно записать.Ошибся Шокер, бывает.
...
Рейтинг: 0 / 0
Как задать курсор в ADO?
    #37530408
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyОшибся Шокер, бывает.
Да, виноват, поторопился
Я как-то подразумевал
records.CursorType = adOpenDynamic
records.open....
в этом случае можно было бы не указывать тип курсора в Open
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как задать курсор в ADO?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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