Книга знаний |
|
1С:Предприятие / Приемы программирования / Обмен данными, УРБД |
|
В статье описан пример работы с файлами DBF по интерфейсу ADO из 1С v 7.7 | Автор статьи: romix | Редакторы: avmlvm, vde69, Последняя редакция №11 от 23.02.07 | История URL: http://kb.mista.ru/article.php?id=309 |
Драйвер ADO уже встроен в систему Windows, и дополнительно устанавливать его не нужно. Он представляет собой всего лишь удобную Active-X оболочку для доступа к данным, которую можно использовать почти из любых языков и сред программирования (включая 1С:Предприятие 7.7 и 8.0).
Интерфейс ADO во многих случаях более удобен и безопасен для работы с файлами DBF, чем штатный объект 1С:
Тот же самый драйвер ADO можно применять для доступа к самым разным источникам данных (например, к базе Oracle), с небольшими отличиями в строке подключения. Строки подключения для разных источников данных можно найти здесь: http://www.connectionstrings.com/
Ниже приведен пример создания, заполнения и чтения файла DBF.
//******************************************* Процедура Сформировать() //РАБОТА С ФАЙЛАМИ DBF ЧЕРЕЗ ADO Path="c:\"; //Путь к папке с файлами DBF //Стираем файл, если он уже существует Если фс.СуществуетФайл("c:\persons.dbf")=1 Тогда фс.УдалитьФайл("c:\persons.dbf"); КонецЕсли; //******* ПРИМЕР ЗАПИСИ DBF *******// //Открываем соединение DBConn = CreateObject("ADODB.Connection"); DBConn.Open("Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + Path + ";" + "Extended Properties=""DBASE IV;"";"); //Создаем новый DBF и задаем его колонки DBConn.Execute("Create Table Persons (Name char(50), City char(50), Phone char(20), Zip decimal(5))"); //Пишем строки в наш DBF DBConn.Execute("Insert into Persons Values('Иванов И.И.', 'Москва','123-45-67','14589')"); DBConn.Execute("Insert into Persons Values('Поляков С.Л.', 'Москва','333-44-55','38215')"); DBConn.Execute("Insert into Persons Values('Сидоров С.С.', 'Москва','222-33-44','54323')"); //******* ПРИМЕР ЧТЕНИЯ DBF *******// //Делаем выборку Persons = DBConn.Execute("Select * from [Persons#DBF]"); Пока Persons.EOF=0 Цикл //Цикл по записям DBF Имя= Persons.Fields("Name").value; Город= Persons.Fields("City").value; Телефон=Persons.Fields("Phone").value; Zip= Persons.Fields("Zip").value; Сообщить("Имя="+Имя+" Город="+Город+" Телефон="+Телефон+" Zip="+Zip); Persons.MoveNext(); //Переходим к след. записи DBF КонецЦикла; DBConn.Close(); //Закрываем соединение КонецПроцедуры
Описание
| Рубрикатор
| Поиск
| ТелепатБот
| Захваченные статьи
| Установки
| Форум
|