вторник, 20 декабря 2011 г.

1c8 Запрос к базе данных SQL

Leave a Comment
Вариант №1 

Функция ПодключитьCOMОбъект(Путь) Экспорт 
    Отказ = Ложь;
    
    COMСоединение = Новый COMОбъект("ADODB.Connection");
    COMСоединение.ConnectionString  = ".....";
    COMСоединение.ConnectionTimeOut = 1200;
    COMСоединение.CursorLocation    = 3;
    
    Попытка
        COMСоединение.Open(COMСоединение.ConnectionString);
    Исключение
        Отказ = Истина;
        COMСоединение = "";
        Предупреждение("Невозможно установить соединение - " + ОписаниеОшибки());
        Возврат НЕ Отказ;
    КонецПопытки;
    
    Возврат НЕ Отказ;
КонецФункции

Процедура КнопкаВыплонитьНажатие(Кнопка)
    Если НЕ ПодключитьCOMОбъект(ПутьКФайлуГДБ) Тогда
        ЗакрытьФормуИндикатора();
        Возврат;    
    КонецЕсли;


    КомандаАДО = Новый COMОбъект("ADODB.Command");
    
    ТекстЗапроса = "S_elect id from nomenclature where ext_1c_id = 1";

    Рекордсет = Новый COMОбъект("ADODB.Recordset");
    Попытка
        Рекордсет = КомандаАДО.Execute();
    Исключение
        Предупреждение("Не получилось выполнить запрос!" + " - " + ОписаниеОшибки());
    КонецПопытки;
   Рекордсет.MoveFirst();                                                               
    Пока Рекордсет.EOF() = 0 Цикл   
       ОбработкаПрерыванияПользователя();
           айди = Рекордсет.Fields("id").Value;
           Сообщить(айди);
        КонецЦикла; 
КонецПроцедуры

Вариант №2

стрПодключения = "Driver={SQL Server};"
стрПодключения = стрПодключения + ИмяСервера + ";";
стрПодключения = стрПодключения +"Uid=" + ИмяПользователя + ";";
стрПодключения = стрПодключения + "Pwd=" + Пароль + ";";
стрПодключения = стрПодключения + "DataBase =" + ИмяБазы + ";";
стрПодключения = стрПодключения + "Pwd=" + Пароль + ";";

Connection = Новый COMОбъект("ADODB.Connection");
Connection.OpenServer = стрПодключения;

RS = Новый COMОбъект("ADODB.Recordset");

// Запрос к базе на языке SQL запросов.
RS.Open("S_elect * from TradeUnit", Connection);

Пока RS.EOF() = 0 Цикл

// Можно обращаться и обрабатывать значения полей выборки.
ИД = RS.Fields("ID").Value;
Код = RS.Fields("Code").Value;
   // Обработка других полей
RS.MoveNext();
КонецЦикла;

RS.Close();
Connection.Close();    

0 коммент.:

Отправить комментарий