| 
    0
    
        VladSt    
       
    
    10.09.12 
            ✎
    21:01 
 | 
         
        Не могу установить параметры в запросе после подключения к IBProvider. 
  Ошибка при вызове метода контекста (CreateParameter): Произошла исключительная ситуация (ADODB.Command): Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
      Parameter = Command.CreateParameter("DATEIN", 1,1, ,DATEIN);
  
  Код:
  стрПодключения = "data source=" + Сервер + ":" + МестоНахождениеБД + ";" + ПараметрыПодключения + ";user ID=" + ИмяПользователя + ";password=" + ПарольПользователя;
      
      Connection = Новый COMОбъект("ADODB.Connection");
      Connection.Provider = "LCPI.IBProvider";
      Connection.ConnectionString =  стрПодключения;
      
      попытка
          Connection.Open();
          Сообщить ("Соединение установленно" );
      исключение
          //Сообщить ("Проблемы с подключением к IBProvider" );
          Сообщить(ОписаниеОшибки() ) ;
          Возврат;
      КонецПопытки;
      
      //RS = Новый COMОбъект("ADODB.Recordset");
        
      // Создание объекта выполнения команды
      Command = Новый COMОбъект("ADODB.Command");
      // Указание активного соединения
      Command.ActiveConnection = Connection;
      // Определение текста команды
      DATEIN = Дата("20120907");
      IdNom = 48000;
      //Command.CommandText = "SELECT * FROM ARCHREQS WHERE id > :IdNom"; 
      Command.CommandText = "SELECT * FROM ARCHREQS WHERE (id > 48000) and (DATEIN > :DateIn)";
      // Определение типа команды
      Command.CommandType = 4;
      // Создание объекта набора записей
      RecordSet = Новый COMОбъект("ADODB.RecordSet");
      
      Parameter = Command.CreateParameter("IdNom", 14,1, 5,IdNom);
      Parameter = Command.CreateParameter("DATEIN", 1,1, ,DATEIN);
      // Добавление в семейство Parameters объекта Command нового параметра
      Command.Parameters.Append(Parameter);    
      // Выполнение и получение набора данных
      RecordSet = Command.Execute();     
         | 
 |