Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не формируется ADORecorset для большого числа записей / 3 сообщений из 3, страница 1 из 1
28.04.2005, 17:43:43
    #33041337
cherep20
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не формируется ADORecorset для большого числа записей
В чем тут может быть ошибка?
При небольшом кол-ве записей все выполняется, если количество более 300, рекордсет неформируется.
Может быть для больших наборов данных команду надо как то иначе выполнять, с параметрами например?

Set cmd = New ADODB.COMMAND
cmd.CommandType = adCmdStoredProc
cmd.ActiveConnection = Connection
cmd.CommandText = "DWH.BDG_API.CalcCell"
cmd.Parameters.Append cmd.CreateParameter("p_dtcount", adDate, adParamOutput, 8, dt_count)
cmd.Parameters.Append cmd.CreateParameter("p_AccessError", adVarChar, adParamOutput, 4000, AccessError)
cmd.Parameters.Append cmd.CreateParameter("p_ScenarioId", adNumeric, adParamInput, 8, in_id_scenario)
cmd.Parameters.Append cmd.CreateParameter("p_KindSummId", adNumeric, adParamInput, 8, in_id_kind_summ)
cmd.Parameters.Append cmd.CreateParameter("p_ScenarioProper", adNumeric, adParamInput, 8, in_scenario_proper)
cmd.Parameters.Append cmd.CreateParameter("p_OwnIndex", adNumeric, adParamInput, 8, in_own_index)
cmd.Parameters.Append cmd.CreateParameter("p_DateFrom", adDate, adParamInput, 8, in_date_from)
cmd.Parameters.Append cmd.CreateParameter("p_DateTo", adDate, adParamInput, 8, in_date_to)
cmd.Parameters.Append cmd.CreateParameter("p_Purpose", adVarChar, adParamInput, 250, in_purpose_new)
cmd.Parameters.Append cmd.CreateParameter("p_PurposeProper", adNumeric, adParamInput, 8, in_purpose_proper_new)
cmd.Parameters.Append cmd.CreateParameter("p_StateDateFrom", adDate, adParamInput, 8, in_state_date_from)
cmd.Parameters.Append cmd.CreateParameter("p_StateDateTo", adDate, adParamInput, 8, in_state_date_to)
cmd.Parameters.Append cmd.CreateParameter("p_UserFilter", adVarChar, adParamInput, 2000, in_userFilter_new)
cmd.Parameters.Append cmd.CreateParameter("p_ReportSide", adNumeric, adParamInput, 8, in_report_side)
cmd.Parameters.Append cmd.CreateParameter("p_CalcResType", adNumeric, adParamInput, 8, calc_result_type)
cmd.Parameters.Append cmd.CreateParameter("p_TypeRight", adInteger, adParamInput, 4, in_type_right)
cmd.Parameters.Append cmd.CreateParameter("p_UserRight", adVarChar, adParamInput, 32, in_user_right)
cmd.Parameters.Append cmd.CreateParameter("p_FullSegment", adVarChar, adParamInput, 4000, sxml)
Set rs = cmd.Execute
...
Рейтинг: 0 / 0
29.04.2005, 16:44:01
    #33043329
ziktuw
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не формируется ADORecorset для большого числа записей
Проблема может заключаться в том, что сервер ворзвращает какой-то варнинг. В этом случае первый рекордсет пустой, но он есть - это варнинг, а второй - ваш запрошенный. И получить его тогда можно через NextRecordset.

Ну, это как версия. Причин может быть много.

-------
Сегодня он VB применит, а завтра Родине изменит!
...
Рейтинг: 0 / 0
29.04.2005, 23:33:13
    #33043772
nibbles
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не формируется ADORecorset для большого числа записей
"рекордсет неформируется" сопровождается каким-нибудь ошибками, сообщениями? Как смОтрите рекордсет? Как определяете, что в нем ничего нет? Что за сервер, на что ссылается объект Connection? Предыдущий товарищ правильно подметил первую граблю, которая может быть... если это SQL Server, то использовать SET NOCOUNT ON (и проверить, чтоб не было ошибок при параметрах, после которых 300 записей д.б. вернуться). Какой-нибудь отладчик имеется в распоряжении, где можно этот запрос запустить и посмотреть на результат?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Не формируется ADORecorset для большого числа записей / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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