Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Изучаем компонент TBatchMove Этот компонент обеспечивает копирование данных из одной таблицы в другую. Таблица-источник указывается в свойстве Source. Таблица, в которую копируются данные, указывается в свойстве Destination. Свойство Mode определяет тип перемещения данных:
Свойство Mappings определяет соответствие нолей исходной таблицы полям принимающей таблицы. Для таблиц формата Paradox можно использовать свойство KeyViolTableName. В этом свойстве хранится название таблицы, в которую помещаются записи, которые не удалось скопировать из-за ограничений ссылочной целостности или нарушений ключа, а в свойстве ProblemTableName хранится таблица Paradox, в которую помещаются записи, не скопированные по причине несоответствия типов полей или по иной причине. Для начала копирования данных следует вызвать метод Execute. Свойства AbortQnKeyViol и AbortOnProblem в случае установки их значении в True прервут операцию копирования при возникновении ошибки. В листинге 3.4 приведен пример использования компонента.
Листинг 3.4.
Пример связи с Excel через BDE В данном разделе будет рассмотрен интересный пример — связь с таблицей Excel, получение из нее данных и изменение их. Для начала необходимо подготовить файл Excel и настроить доступ к нему через драйвер ODBC. В табл. 3,4. приведено содержимое электронной таблицы в формате Excel, которая будет использоваться в рассматриваемом примере. Таблица 3.4.
Затем нужно выделить диапазон ячеек (рис. 3.15) и задать ему имя, например TestTable.
Рис. 3.15. Именованный диапазон ячеек Созданный файл надо сохранить с именем Test.xls. Далее необходимо разрешить многопользовательский доступ к файлу. На этой стадии уже можно создать ODBC-соединение с рабочей книгой. Для этого следует запустить утилиту ODBC Administrator. В основном окне утилиты нужно нажать кнопку Add и в появившемся диалоговом окне выбрать значение Driver do Microsoft Excel. После этого - нажать кнопку Finish. В появившемся окне потребуется дать имя TestExcelDS источнику данных в поле Data Source Name. Теперь можно перейти к разработке соответствующего приложения. На форме следует разместить компоненты TTable, TDataSpurce, TDBGrid и две кнопки. В свойстве DatabaseName компонента TTable надо выбрать из списка псевдоним TestExcelDS. В свойстве TableName указать значение TestTable, которое определяет заданный ранее диапазон ячеек. Необходимо связать компоненты ТTable и TDataSource, а потом TDataSource и TDBGrid. В кнопках, расположенных на форме, потребуется описать вызовы методов Post и ApplyUpdates из предыдущего примера. После этого можно скомпилировать приложение, закрыть Delphi и запустить скомпилированный модуль автономно. На рис. 3.16 показано окно программы. Она позволяет изменять данные и вводить новые. При вводе новых данных границы именованной области ячеек будут увеличиваться.
Рис. 3.16. Пример работы с Excel через BDE
Пример связи с Access через BDE Точно так же можно при помощи BDE осуществлять доступ к таблицам в формате Access. Работа с Access через BDE может производиться только за счет использования драйверов ODBC. Поэтому снова нужно связать драйвер ODBC с источником данных. Как и прежде, нужно запустить утилиту ODBC Administrator. В список нужно добавить драйвер Driver do Microsoft Access. Созданную связь с источником данных надо назвать TestAccessDS. Затем нужно нажать кнопку Select и в диалоговом окне выбора базы данных указать имя файла dbdemos.mdb. Эта тестовая база данных поставляется с BDE и обычно расположена в каталоге X:\Prog-ram Files\Common Files\Borland Shared\Data. Теперь нужно создать новое приложение и добавить в него модуль данных. Модуль данных надо сохранить с именем AccessDM, На форме потребуется разместить компоненты TDataSource, TDatabase и ТTable. Компонент TDatabase нужно связать с базой данных при помощи псевдонима TestAccessDS. Свойство LoginPrompt должен получить значение False, а свойство Connected — значение True.
Теперь свойству Database нужно присвоить значение AccessDB. Для компонента TTable — задать имя EmplоуееТbl. В качестве источника данных для нее можно использовать таблицу employee. Свойство CachedUpdates должно получить значение True. На этой стадии можно активировать набор данных. Компонент TDataSource должен получить имя EmployeeDS. а затем потребуется связать его с таблицей EmplоуееТbl. Модуль данных нужно подключить к главной форме командой uses AccessDH. На форме нужно также разместить компонент TDBGrid и три кнопки. Компонент TDBGrid потребуется связать с TDataSource. А в обработчиках нажатия кнопок нужно указать код, приведенный в листинге 3.5.
Листинг 3.5.
Форма приложения показана на рис. 3.17. Рис. 3.17. Работа с Access через BDE
Так как таблица связана с дочерней таблицей, то в силу ограничений ссылочной целостности данные из таблицы нельзя удалить. Можно заносить и удалять свои данные. Приложение можно расширить, добавив в модуль данных остальные таблицы базы и определив для них отношения ссылочной целостности.
Пример связи с InterBase через BDE Как уже говорилось ранее, Borland поставляет с BDE набор драйверов SQL Links с настроенным псевдонимом IBLocaL для доступа к базе данных EMPLOYEE.GDB. В этом разделе будет создано простое приложение, которое будет обращаться к базе, читать из нее информацию и вносить изменения. На форме потребуется разместить компоненты TDatabase, TQuery, TUpdateSQL, TDataSource. TDBGrid, два компонента TDBEdit и три кнопки. Компонент нужно связать с базой данных, присвоив значение True свойству Connected. Также необходимо установить связь между компонентами TQuery и TDatabase. В свойстве SQL компонента TQuery потребуется указать текст SQL-запроса, который получает все строки таблицы: Теперь необходимо настроить компонент TUpdateSQL и связать его с компонентом TQuery. Затем связать TQuery с таблицей TDBGrid. Компоненты TDBEdit должны быть связаны с источником данных через свойство DataSource. А в свойствах DataField для каждого поля ввода надо указать соответствующие поля таблицы. Далее в обработчиках кнопок останется прописать код для методов Insert, Delete и ApplyUpdates. Вид основного окна приложения показан на рис. 3.18.
Рис. 3.18. Работа с Interbase через BDE В конце этого раздела следует отметить, что Borland перестала развивать технологию BDE с 2002 года. Разрабатывать проекты с этой технологией все еще можно, но уже не рекомендуется. В данном разделе примеры работы с этой технологией были приведены, чтобы продемонстрировать легкость работы с базами данных на Delphi. |
|
Библиотека программиста. 2009. |
|