helpf.pro
Регистрация
 0 
Распечатать

Как получить выборку запросом из таблиц базы MySql

Код 1C v 8.х
 //п_Текст - ТекстЗапроса... вернётся соответственно ТЗ
Функция Прямой_запрос_к_jabber(п_Текст) Экспорт
    л_ТЗ = Новый ТаблицаЗначений;
    л_число_попыток = 0;
    л_Запрос_выполнен = Ложь;
    Пока (л_Запрос_выполнен = Ложь) И (л_число_попыток <= 3) Цикл
        Если (гл_Соединение_jb.State = 0) Или (гл_Соединение_jb.DefaultDatabase <> "log_1c") Тогда
            гл_Соединение_jb = "";
            л_Параметры_соединения = "DRIVER={MySQL ODBC 5.1 Driver};OPTION=3;DATABASE=BAZADANNIH_IMYA;PWD=PAROLLLLL;PORT=3306;SERVER=ip_adres_servera;UID=admin";
            гл_Соединение_jb = Новый COMОбъект("ADODB.Connection");
            Попытка
                гл_Соединение_jb.Open(л_Параметры_соединения);
            Исключение
            КонецПопытки;
        КонецЕсли;
        
        л_Команда = Новый COMОбъект("ADODB.Command");
        л_Команда.ActiveConnection = гл_Соединение_jb;
        л_Команда.CommandText = п_Текст;
        л_Команда.CommandType = 1;
        
        л_Набор_записей = Новый COMОбъект("ADODB.Recordset");
        л_Набор_записей.CursorType = 3;
        л_число_попыток = л_число_попыток + 1;
        Попытка
            л_Набор_записей = л_Команда.Execute();
            л_Запрос_выполнен = Истина;
        Исключение
        КонецПопытки;
    КонецЦикла;
    Если (л_Запрос_выполнен = Ложь) Тогда
        Сообщить(ОписаниеОшибки());
        Возврат(л_ТЗ);
    Иначе
        л_Число_колонок = л_Набор_записей.Fields.Count - 1;
        Если (л_Число_колонок > -1) Тогда
            Для Ф = 0 По л_Число_колонок Цикл
                л_Колонка_добавлена = Ложь;
                л_Префикс = "";
                л_сч = 0;
                Пока (л_Колонка_добавлена = Ложь) Цикл
                    Попытка
                        л_ТЗ.Колонки.Добавить(л_Префикс + л_Набор_записей.Fields(Ф).Name);
                        л_Колонка_добавлена = Истина;
                    Исключение
                        л_Префикс = ?(л_сч = 0, "_", "_" + л_сч + "_");
                        л_сч = л_сч + 1;
                    КонецПопытки;
                КонецЦикла;
            КонецЦикла;
            Если (л_Набор_записей.EOF() = Истина) И (л_Набор_записей.BOF() = Истина) Тогда
            Иначе
                л_Набор_записей.MoveFirst();
                Пока (л_Набор_записей.EOF() = 0) Цикл
                    л_стр = л_ТЗ.Добавить();
                    Для Ф = 0 По л_Число_колонок Цикл
                        л_стр[Ф] = л_Набор_записей.Fields(Ф).Value;
                    КонецЦикла;
                    л_Набор_записей.MoveNext();
                КонецЦикла;
            КонецЕсли;
        КонецЕсли;
        Попытка
            л_Набор_записей.Close();
        Исключение
        КонецПопытки;
        Возврат(л_ТЗ)
    КонецЕсли;
КонецФункции
   

Немного кривое решение... но как шаблон вполне
Megas
Разместил:   Версии: | 8.x |  Дата:   Прочитано: 15353
 0 
Распечатать
Возможно, вас также заинтересует
10060 (0x0000274C): Попытка установить соединение была безуспешной 24
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С Предприятие что это? 13
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
Cодержимое указанного ниже веб-сайта в этом приложении блокируется... Aboutsecurity_1cv8c.exe 2
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!