Изначально, для выборки данных из базы, в Рекордсет передовал скрипт. Решил перенести скрипт на сервер, и поставли в качестве источника ADODB.Command. Теперь по Профайлеру смотрю, что выполнение команды проходит (процедура вызывается и ей передаются параметры), но почему то рекордсет остается в состоянии неоткрыт. Процедура рабочая, проверял из Аналайзера.
Что может быть такое ???
try
ADOCommand := CreateOLEObject('ADODB.Command');
ADORecordSet := CreateOLEObject('ADODB.Recordset');
ADOCommand.ActiveConnection := ADOConnection;
ADOCommand.CommandText := 'CliSelectResponseList';
ADOCommand.CommandType:= adCmdStoredProc;
ADOCommand.Parameters['@ArgResponseTypes'].Value := ResponseType;
ADORecordSet.Open(ADOCommand,,adOpenKeyset,adLockOptimistic,adCmdStoredProc);
except
on E: Exception do
begin
DescLastError := e.message;
Result := false;
exit;
end;
end;
ShowMessage(IntToStr(ADORecordSet.State));
if not (ADORecordSet.State = adStateOpen) then
begin
LastError := 1;
DescLastError := 'Не смогли открыть RecordSet для выборки данных';
Result := false;
exit;
end;
if ADORecordSet.RecordCount <= 0 then exit;
Здравствуйте, Аноним, Вы писали:
А>Изначально, для выборки данных из базы, в Рекордсет передовал скрипт. Решил перенести скрипт на сервер, и поставли в качестве источника ADODB.Command. Теперь по Профайлеру смотрю, что выполнение команды проходит (процедура вызывается и ей передаются параметры), но почему то рекордсет остается в состоянии неоткрыт. Процедура рабочая, проверял из Аналайзера.
А>Что может быть такое ???
А>Skip
Хм, конечно разобратся можна. Только вот зачем тебе этот минингит? Есть причина почему ты не используеш компоненты TADOCommand и TADOQuery?