powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Проблеммы с курсором
7 сообщений из 7, страница 1 из 1
Проблеммы с курсором
    #33766758
Eugene7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я с помощью ODBC поключаюсь к базе, делаю запрос(select с возвращением резалт-сета), потом SQLFetch() скролю строку, и с помошью SQLGetData() забираю значения колонок резалт-сета. И так пока SQLFetch() не вернет SQL_NO_DATA.
После того как вернет, пытаюсь делать новый запрос в том же STMT. Однако получаю ошибку:
Invalid cursor state (error 0)

Кто может подсказать что означает эта ошибка(по всей видимости проблемы с курсором) и как ее бороть?
...
Рейтинг: 0 / 0
Проблеммы с курсором
    #33766818
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по-моему если он однонаправленный и дошел до конца - надо делать SQLFreeStmt() и по новой работать.
...
Рейтинг: 0 / 0
Проблеммы с курсором
    #33766985
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо делать SQLFreeStmt(). Ты ж не хочешь потом заново звать SQLAllocStmt()? :)

Надо делать SQLCloseCursor() или SQLCancel(). И после этого можно сразу кидать новый SQLPrepare() или SQLExecDirect()
...
Рейтинг: 0 / 0
Проблеммы с курсором
    #33767022
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а разве SQLFreeStmt с опцией SQL_CLOSE не просто закроет курсор?
...
Рейтинг: 0 / 0
Проблеммы с курсором
    #33767068
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой... Действительно! Уже начал забывать ODBC 1.0 :)

А! Вспомнил почему я перестал использовать SQLFreeStmt. Если курсор не был открыт, то SQLFreeStmt(hStmt, SQL_CLOSE) просто ничего не будет делать. А SQLCloseCursor(hStmt) на неоткрытом курсоре выругается. Дополнительный контроль за ошибками всегда полезен :)
...
Рейтинг: 0 / 0
Проблеммы с курсором
    #33767110
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а SQLCloseCursor это что-то более новое? Потому что я что-то не помню его
(последний раз на Visual C++ 5.0 что-то делал).
По логике то конечно этот вызов лучше.
...
Рейтинг: 0 / 0
Проблеммы с курсором
    #33767162
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
--null--а SQLCloseCursor это что-то более новое? Потому что я что-то не помню его (последний раз на Visual C++ 5.0 что-то делал).
По логике то конечно этот вызов лучше.
Да это ODBC 3.0.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Проблеммы с курсором
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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