powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC++ ADO MSSQL?
3 сообщений из 3, страница 1 из 1
VC++ ADO MSSQL?
    #32416866
Yuri Elgin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всегда ли будет корректно работать такой код?

ADODB::_RecordsetPtr firstOpened(ADODB::_RecordsetPtr adoRs)
{
long lngRec = 0;
while (adoRs != 0 && adoRs->State != ADODB::adStateOpen)
adoRs = adoRs->NextRecordset((VARIANT *)lngRec);
return adoRs;
}

ADODB::_RecordsetPtr nextOpened(ADODB::_RecordsetPtr adoRs)
{
long lngRec = 0;
if (adoRs == 0) return 0;
ADODB::_RecordsetPtr rs = adoRs->NextRecordset((VARIANT *)lngRec);
return firstOpened(rs);
}

...

adoRs = firstOpened(adoRs);
//получаю указатель на первый открытый рекордсет
ADODB::_RecordsetPtr rs = adoRs;
//получаю указатель на следующих открытый рекордсет
adoRs = nextOpened(adoRs);
ADODB::_RecordsetPtr rsName = adoRs;
...
//теперь я использую указатели как на первый, так и второй рекордсет.
...

При тестировании не небольших запросах, это работало, но будет ли это работать всегда.

Программа пишется на Visual C++ 7, использую msado15.dll и MS SQL Server 8
...
Рейтинг: 0 / 0
VC++ ADO MSSQL?
    #32416993
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_variant_t lngRec(0L);
...
Рейтинг: 0 / 0
VC++ ADO MSSQL?
    #32418946
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня была такая фигня с большими запросами после удачного теста на маленьких: таймаут случался, 30 секунд по умолчанию(вроде).
Так что если запросы "длинные" то лучше таймаут увеличить
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / VC++ ADO MSSQL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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