ADO & Delphi
технология ADO
🕛 25.03.2008, 12:45
Давайте познакомимся с технологией ADO, которая значительно расширяет возможности программиста при работе, последнего с БД. Разработчики получили возможность работать с XML - данными, БД SQL Server, Oracle, БД MS Access и др., через обычные интерфейсы доступа к данным. ADO создан, для лекого, а главное быстрого обмена структурой данных между "Клиентом" и "Сервером", т.е. модель которая облегчала работу серверных сценариев.Давайте создадим простую БД, все действя и пояснения будем выполнять по ходу дела. Итак, создавай форму и первым делом кидай на форму ADOConnection1 c закладки ADO. Этот компонент служит для связи ADO с БД, а также имеется возможность тонкой настройки связи. Чуть не забыл, заранее приготовь базу данных, можешь настряпать ее в любимом Access'е.
Далее жми кнопку в строке свойства Use Connection String... перед Вами появиться заакладка выбора механизма поставщика услуг, который будет взаимодействовать с Вашей БД. Выбираем Microsoft Jet 4.0 OLE DB Provider и шагаем дальше...
Следующая закладка "Connection" определяет местонахождения вашей БД, выбираете базу и вперед. Хотя я советую делать так:
Не желательно писать путь к БД вот так: C:\DATA\my_bd.mdb, т.к. ваша будущая прога будет зависеть от того на каком логическом диске она находится.
Я делаю вот так: Сохраняю прогу, создаю папку DATA в той же директории, где прога, и копирую в нее используемые мной в дальнейшем БД. А в закладке "Connection" прописываю примерно вот такой путь: DATA\my_bd.mdb. Теперь я могу запускать прогу как с диска, так и со сменных носителей, что очень даже удобно... У, да мы отвлеклись...
В этой же закладке, можно установить пароль для доступа к БД. (но пока давайте оставим ее пустой...) Далее жмем "ОК" и переходим к следующему пункту...
Устанавливай свойство LoginPrompt в false, она не будет спрашивать у нас пароля при запуске программы, пароля ведь нет, а Connected в true, в случае ошибки вылезет окошко о том, что произоа ошибка и не установленна связь с БД, тогда вернись наверх и читай сначала...
Теперь кидай на форму ADOTable1, в свойстве Connection укажи ADOConnection1, а в TableName имя твоей таблицы.
Кидай теперь на форму DataSource1, в свойстве DataSet прописывай ADOTable1. И в завершение кидай DBGrid1 у которого в DataSource выбирай DataSource1.
Теперь осталось закинуть на форму DBNavigator c закладки DataControls, у которой аналогично DBGridy подключи DataSource.
Давай попробуем теперь реализовать сортировку данных:
Кинь на форму Кнопку и на нажатие напиши:
DM.ADOTable1.IndexFieldNames:= 'fam';
Теперь при нажатии на этот батон все записи в Grid'е будут отсортированны по фамилии.