Книга знаний

1С:Предприятие / Приемы программирования / OLE, COM

Пример работы с SQL Server посредством ADO

Просто пример для отсылки запроса к SQL серверу через ADODBConnection. НиЧегоРеволюционногоАвтор статьи: Лёвыч | Редакторы: pavel_tr, aka AMIGO
Последняя редакция №5 от 16.01.17 | История
URL: http://kb.mista.ru/article.php?id=508

Ключевые слова: ADO, SQL Server, ADODBConnection, Recordset, прямой запрос


//******************************************************************************
// Создает экземпляр АДОДБКоннекшн
//
Функция АДОКоннекшн_СоздатьОбъект()
    
    Возврат СоздатьОбъект("ADODB.Connection"); 
    
КонецФункции    // АДОКоннекшн_СоздатьОбъект

//******************************************************************************
// Создает экземпляр ADODB.Recordset и, если передано соединение, - ассоциирует
// рекордсет с этим соединением
//
Функция АДОРекордсет_СоздатьОбъект(Соединение = "")
    
    rs = CreateObject("ADODB.Recordset");
    
    Если ПустоеЗначение(Соединение) = 0 Тогда
        
        rs.ActiveConnection = Соединение;                               
        
    КонецЕсли; 
    
    Возврат rs;
    
КонецФункции    // АДОРекордсет_СоздатьОбъект

//*******************************************
// Устанавливает соединение с SQL Server'ом
// [inout]  
//   Соединение - экземпляр ADODB.Connection
// [in]  
//   сИмяБазы       - имя базы
//   сИмяКомпьютера - имя копмьютера, на котором установлен скуль, к которому мы подключаемся
//   сЛогин         - логин (возможно sa)
//   сПароль        - пароль от логина ^
// ---
// Возврат: 0 - не установлено соединение, все остальное - соединение успешно установлено
//
Функция АДОДБ_УстановитьСоединение(Соединение, сИмяБазы, сИмяКомпьютера, сЛогин, сПароль) Экспорт
        
    СтрокаСоединения    = "Provider=SQLOLEDB.1;
    |User ID="+сЛогин+";
    |Pwd="+сПароль+";
    |Data Source=" + сИмяКомпьютера + ";
    |Initial Catalog=" + сИмяБазы + "";
    
    Возврат Соединение.Open(СтрокаСоединения);
    
КонецФункции // АДОДБ_УстановитьСоединение()

//**************************************************
//
Процедура Сформировать()
    
    Соединение = АДОКоннекшн_СоздатьОбъект();
    
    Если 0 = АДОДБ_УстановитьСоединение(Соединение, "база", "сервер", "логин", "пассворд") Тогда
        Предупреждение("Не струится ни струя...", 30);
        Возврат;
    КонецЕсли;                                        
    
    Рекордсет = АДОРекордсет_СоздатьОбъект(Соединение);
    
    Рекордсет.Source = "SELECT * FROM таблица";

    Рекордсет.Open(); 
                      
    Пока Рекордсет.EOF = 0 Цикл
        
        Сообщить("Поле1: " + Рекордсет.Fields("Поле1").Value);
        Сообщить("Поле2: " + Рекордсет.Fields("Поле2").Value);
        // ...
 
        Сообщить("ПолеN: " + Рекордсет.Fields("ПолеN").Value);
        
        Рекордсет.MoveNext();
        
    КонецЦикла;

КонецПроцедуры    // Сформировать

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика