- Работа с базой данных Access в Delphi
- Свойство ConnectionString компонента ADOConnection
- Свойство LoginPrompt компонента ADOConnection
- Свойство Connected компонента ADOConnection
- Свойство Connection компонента ADOTable
- Свойство TableName компонента ADOTable
- Свойство Active компонента ADOTable
- Свойство DataSet компонента DataSource
- Свойство DataSource компонентов DBGrid и DBNavigator
- Работа с базами данных ACCESS через ADO в Delphi
- Базы данных Access в Delphi через ADO
- ADO (Active Data Objects) — это компонент технологии доступа к данным от Microsoft (MDAC — Microsoft Data Access Components). ADO является универсальным компонентом — данными для него могут быть как таблицы MS Access или серверные базы MS SQL, Oracle, так и Microsoft Active Directory Service, XML-файлы.
- TADOConnection1
- TADOTable1
- TDataSource1
- TDBGrid1
- Работа с таблицей в Delphi:
- Добавить запись:
- ADOTable1.Append;
- Удалить запись:
- ADOTable1.Delete;
- Сохранить:
- ADOTable1.Post;
- Поиск по сайту
- BestProg
- Пример подключения базы данных Microsoft Access к приложению
- Содержание
- Условие задачи
- Выполнение
Работа с базой данных Access в Delphi
В данной статье рассмотрим как можно реализовать программу, которая сможет работать с данными, размещенными в файле СУБД MS Access. Программе необходимо подключиться к внешнему файлу БД. Затем, в ней должна быть реализована форма, в которой пользователь сможет просматривать записи из таблицы БД, добавлять новые записи, удалять или редактировать их.
Обычно, для работы с текстовым файлом в Delphi достаточно использовать простые команды связи внешнего файла с файловой переменной и команды чтения и записи. Для работы со специализированными файлами приходится использовать дополнительные библиотеки или компоненты. Для решения данной задачи, воспользуемся технологией ADO, а так же соответствующими компонентами, позволяющими отобразить данные на пользовательской форме.
Чтобы организовать работу программы с БД, потребуется следующие компоненты:
— ADOConnection – используется для подключения к БД (закладка палитры ADO, в некоторых версиях dbGO);
— ADOTable – связывается с конкретной таблицей БД (закладка ADO);
— DataSource – компонент, используется как связка данных из таблиц, с отображающими и управляющими компонентами Delphi (закладка Data Access);
— DBGrid – таблица, позволяющая вывести содержимое таблицы БД на пользовательскую форму (закладка Data Controls);
— DBNavigator – кнопочная панель, способная управлять данными в привязанной к ней таблице (закладка Data Controls).
После того, как все компоненты установлены на форму, можно приступить к их настройке. Для решения нашей задачи никакого программного кода не потребуется. Только настройка свойств компонентов:
Свойство ConnectionString компонента ADOConnection
Свойство ConnectionString удобно настраивается в специальных окнах. Открываем редактор свойства ConnectionString в инспекторе объектов кнопкой «…» . В появившемся окне оставляем все настройки как они были по умолчанию и нажимаем кнопку «Build…» .
Получаем еще одно окно с несколькими закладками.
В первой закладке ;Поставщик данных» выбираем в списке «Microsoft.Jet.OLEDB.4.0» и жмем «Далее >>» .
Во второй закладке «Соединение ; в поле «1. Выберете или введите имя базы данных:» жмем «…» и привычным окном выбираем нужный файл БД. Здесь стоит отметить, что при выборе адреса, будет указан полный путь, начиная от корневой директории. При таком указании директории, становится неудобно использование программы на другом компьютере, так как приходится создавать все директории, что и на компьютере, где была создана программа. Чтобы не сталкиваться с такой проблемой, удобней указать относительный путь. Если в этом поле указать только имя файла БД, то программа будет открывать ее из той же директории, где она находится, в какую бы директории ее не разместили. Естественно файл БД должен находиться в той же папке, куда вы сохраняете свой проект Delphi.
Нажимаем кнопку «ОК» .
Снова видим предыдущее окно, но уже с заполненной строкой. Снова нажимаем «ОК» . Все, настройка свойства ConnectionString завершена.
Свойство LoginPrompt компонента ADOConnection
Это свойство логического типа определяет, будет ли при подключении к БД запрашиваться пароль. Пока никакие пароли не нужны, поэтому, чтобы оно не мешало при работе с программой ставим ему значение False.
Свойство Connected компонента ADOConnection
Свойство определяет, выполнено ли подключение в данный момент. Чтобы не подключаться к БД программно после запуска приложения, указываем True. Если после присвоению свойству значения True, Delphi не вывел никаких сообщений об ошибках, значит, все выполнено правильно. В случае ошибок, стоит проверить, правильно ли указано имя файла БД или «Поставщик данных».
Свойство Connection компонента ADOTable
Выбираем из списка созданный и настроенный компонент ADOConnection. Как альтернатива этому свойству у компонента ADOTable есть собственное свойство ConnectionString, которым точно так же можно настроить подключение прямо к БД. Но если планируется работать с несколькими таблицами, гораздо удобней настроить подключение один раз и далее для всех таблиц пользоваться им.
Свойство TableName компонента ADOTable
Выбираем из списка необходимую таблицу из БД.
Свойство Active компонента ADOTable
Свойство, определяющее режим работы компонента. Указываем значение True. Если сообщений об ошибках нет, все нормально. Если есть, проверьте предыдущие два свойства.
Свойство DataSet компонента DataSource
Из списка выбираем нужную таблицу, если их несколько. Обычно для удобства каждой таблице в БД соответствует своя пара ADOTable + DataSource.
На этом настройка невизуальных компонентов, использующихся для работы с данными БД, завешена. После этого нужно настроить пользовательскую форму для вывода информации и предоставления возможностей управления ей.
Свойство DataSource компонентов DBGrid и DBNavigator
Свойство настраивается выбором из списка нужного компонента DataSource.
После всех этих операций получаем программу, которая будет подключаться к вашему файлу БД, выводить данные в простейшей табличной форме. Кнопочная панель позволит перемещаться по записям вперед, назад, перейти к последней или первой, добавлять новые записи, редактировать имеющиеся, а так же удалять не нужные записи.
Рисунок: Подключение Delphi с БД Access
Работа с базами данных ACCESS через ADO в Delphi
Базы данных Access в Delphi через ADO
ADO (Active Data Objects) — это компонент технологии доступа к данным от Microsoft (MDAC — Microsoft Data Access Components). ADO является универсальным компонентом — данными для него могут быть как таблицы MS Access или серверные базы MS SQL, Oracle, так и Microsoft Active Directory Service, XML-файлы.
- В USES необходимо включить модуль ADODB
- Для начала работы с ADO, нам необходимо создать простую базу данных в формате Microsoft Access – (test.mtb). (Для того, чтобы не возникало ошибок при редактировании, а именно: иногда нельзя оставлять пустые строки в таблице) при создании базы в Access необходимо в конструкторе таблиц в колонке тип данных / пустые строки – установить в «Да».
- Далее создаем форму и помещаем на нее следующие компоненты:
— TADOConnection(вкладка dbGo)
— TADOTable(вкладка dbGo)
— TDataSource (вкладка Data Access)
— TDBGrid (вкладка Data Controls) - Устанавливаем следующие свойства для компонентов:
TADOConnection1
Свойство Provider – выбираем Microsoft.Jet.OLEDB.4.0
Свойство LoginPrompt – устанавливаем False
TADOTable1
Свойство Connection – выбираем ADOConnection1
TDataSource1
Свойство DataSet – выбираем ADOTable1
TDBGrid1
Свойство DataSource – выбираем DataSource1
- В обработчик события OnFormShow запишем следующее:
Работа с таблицей в Delphi:
Добавить запись:
ADOTable1.Append;
Удалить запись:
ADOTable1.Delete;
Сохранить:
ADOTable1.Post;
Также существует метод ADOTable1.Insert, однако для dBase, FoxPro и Access запись добавляется в конец таблицы.
Поиск по сайту
Okolokompa в Яндекс Дзен
Все материалы и продукты на этом сайте выложены в целях ознакомления для зарегистрированных пользователей фирм производителей материала или продукта, или его авторов. Помните, что скачанные материалы или продукты, Вы используете на свой страх и риск. Автор и администрация этого сайта не несет никакой ответственности за использование этих материалов или продуктов третьими лицами.
В случае, если вы используете один из перечисленных здесь материалов или продуктов, Вы обязаны официально приобрести его у фирмы производителя или автора.
BestProg
Пример подключения базы данных Microsoft Access к приложению
Содержание
Условие задачи
Дана база данных, сформированная средствами СУБД Microsoft Access. База данных расположена на диске по такому пути:
Структура базы данных и связи между таблицами изображены на рисунке 1.
Рис. 1. Схема связей между таблицами базы данных
Необходимо осуществить подключение данной базы данных к приложению Windows.
Выполнение
1. Запустить Delphi
Пример создания и сохранения приложения в Delphi подробно описывается здесь.
Создать форму и сохранить проект под произвольным именем.
2. Компоненты для работы с базой данных
Из вкладки « dbGo » палитры инструментов выбираем компоненты TADOConnection и TADOTable .
Из вкладки « Data Access » выбираем компонент TDataSource (рис. 2).
Выносим эти компоненты на форму приложения.
Рис. 2. Компоненты для соединения с базой данных
Компоненты из палитры «dbGo» предназначены для работы с базами данных по технологии ADO , которая хорошо подходит для базы данных Microsoft Access.
Вместо компонента TADOQuery можно использовать компонент TADOTable . Можно также совмещать эти компоненты.
С целью визуализации данных из таблиц используется компонент TDBGrid из палитры Data Controls . Он отображает данные в некоторой таблице базы данных. После выноса этого компонента на форму, вид окна проектирования примет приблизительно следующий вид (рис. 3).
Рис. 3. Компонент DBGrid1 для отображения данных из базы данных
3. Настройка компонент
Существует два варианта подключения к базе данных с использованием вышеупомянутых компонент (рис. 4).
Рис. 4. Способы подключения к файлу базы данных
Во втором случае подключение осуществляется через дополнительный компонент ADOConnection1 . Этот способ есть более обобщенным случаем и лучше подходит для случаев, когда несколько компонент типа TADOTable или TADOQuery используются для доступа к одному соединению ADOConnection1 .
Выбираем второй способ настройки.
4. Строка соединения ConnectionString
Для доступа к файлу базы данных нужно задать путь к этому файлу и установить другие параметры.
Осуществим настройку свойства ConnectionString компонента ADOConnection1 . Таким же образом настраивается свойство ConnectionString компонента ADOTable1 .
Сначала выделим компонент ADOConnection1 . В Object Inspector выбирается свойство ConnectionString (рис. 5).
Рис. 5. Свойство ConnectionString компонента ADOConnection1
В результате откроется окно « Form1.ADOConnection1 ConnectionString » (рис. 6).
Предлагается 2 варианта подключения:
- Use Data Link File ;
- Use Connection String .
В первом случае есть возможность подключения к базе данных путем выбора файлов типа Microsoft Data Link с расширением « *.udl «. Эти файлы служат для связи с данными по технологии ADO .
Для ознакомления используем второй способ « Use Connection String «. Выбираем кнопку « Build… «.
Рис. 6. Способы выбора источника соединения
В результате предыдущего выбора откроется окно « Свойства связи с данными » (рис. 7).
Рис. 7. Окно «Свойства связи с данными»
В этом окне выбираем поставщика OLE DB . Для работы с базами данных Microsoft Access лучше всего подходит поставщик « Microsoft Jet 4.0 OLE DB Provider «.
Делаем клик на кнопке « Далее >> «.
На следующем этапе нужно выбрать файл базы данных (рис. 8). Согласно с условием задания файл базы данных размещается по следующему пути:
Кликаем на кнопке « … » и выбираем файл базы данных.
Рис. 8. Вкладка «Подключение» с выбранным файлом базы данных
Есть возможность протестировать подключение кнопкой « Проверить подключение «. Если все в порядке, то будет выведено следующее сообщение (рис. 9).
Рис. 9. Тестирование подключения к файлу базы данных
После этого выбираем « ОК «. Окно « Form1.ADOConnection1 ConnectionString » имеет вид (рис. 10).
Рис. 10. Окно « Form1.ADOConnection1 ConnectionString »
с выбранным источником соединения
В окне на рисунке 10 выбираем « ОК «. После этого свойство ConnectionString компонента ADOConnection1 будет сформировано.
5. Свойство LoginPrompt компонента ADOConnection1
По умолчанию, база данных настроена таким образом, что при обращении к данным от пользователя будет требоваться ввести имя и пароль. Во избежание неудобств, необходимо в свойстве LoginPrompt компонента ADOConnection1 установить значение «false» (рис. 11).
Рис. 11. Свойство LoginPrompt компонента ADOConnection1
6. Связывание компонент между собой
Теперь можно связать компоненты между собой по схеме, изображенной на рис. 4 а).
Для этого, используя Object Inspector , необходимо выполнить следующие действия:
- в компоненте ADOTable1 свойство Connection нужно установить в значение ADOConnection1 ;
- в компоненте DataSource1 свойство DataSet установить в значение ADOTable1 ;
- в компоненте DBGrid1 свойство DataSource установить в значение DataSource1 .
7. Выбор таблицы Students и ее отображение
После выполненных операций имеем связь приложения с базой данных.
Теперь нужно задать таблицу или запрос для вывода в DBGrid1 .
Если использовать компонент TADOQuery , то для вывода используется строка запроса на языке SQL . В этом случае данные в DBGrid1 могут отображаться сразу из нескольких таблиц.
Если используется компонент TADOTable (наш случай), то выводится непосредственно одна из таблиц базы данных.
Выберем для примера таблицу Students .
Для этого с помощью Object Inspector в компоненте ADOTable1 нужно:
- в свойстве «TableName» выбрать таблицу Students ;
- свойство Active установить в значение «true» .
В результате выполненных действий данные сразу отобразятся в компоненте DBGrid1 (рис. 12).
Рис. 12. Настройка ADOTable1 и вывод таблицы Students