ADODB.Command в качестве источника для ADODB.Recordset
От: Аноним  
Дата: 21.04.05 09:27
Оценка:
Изначально, для выборки данных из базы, в Рекордсет передовал скрипт. Решил перенести скрипт на сервер, и поставли в качестве источника 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;
Re: ADODB.Command в качестве источника для ADODB.Recordset
От: Danchik Украина  
Дата: 21.04.05 11:31
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Изначально, для выборки данных из базы, в Рекордсет передовал скрипт. Решил перенести скрипт на сервер, и поставли в качестве источника ADODB.Command. Теперь по Профайлеру смотрю, что выполнение команды проходит (процедура вызывается и ей передаются параметры), но почему то рекордсет остается в состоянии неоткрыт. Процедура рабочая, проверял из Аналайзера.


А>Что может быть такое ???


А>Skip

Хм, конечно разобратся можна. Только вот зачем тебе этот минингит? Есть причина почему ты не используеш компоненты TADOCommand и TADOQuery?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.