Работа с базами данных в Delphi с помощью ADOИсточник: botsoft
В этой статье только самый минимум сведений, "чтоб работало"... Берем Microsoft Access, делаем базу данных (этот процесс я описывать не буду, так как, во-первых, каждый умеет, а во-вторых, у меня нет Accessa:). В общем, допустим, что у нас имеется база данных kor.mdb из пяти таблиц. Нам надо вывести одну из них в форму. Итак, ставим на форму компонент ADOConnection с вкладки ADO палитры компонентов, дважды кликаем по свойству ConnectionString появляется окно 'Form1.ADOConnection1 ConnectionString', выбираем второй вариант (Use Connection String) и нажимаем кнопку Build... Далее выбираем из появившегося списка 'Microsoft Jet 4.0 OLE DB Provider' и переходим на вкладку Подключение. Там вводим путь к нашей базе данных, пользователя и пароль не трогаем (если, конечно, база данных не защищена, а если защищена (был такой опыт), все равно не срабатывает, а говорит, что пароль неверный, но это все лишний гемморой, так что не ставьте пароль просто) и нажимаем Проверить подключение. Если все отлично, то закрываем эти все окна кнопками ОК и идем дальше. Вторым действием мы ставим на нашу форму компонент ADOTable с той же вкладки, в свойстве Connection указываем наш ADOConnection1 (можно просто выбрать из выпадающего списка), а теперь дважды кликнем по свойству TableName и должно появиться окно 'Database Login': - оставляем его пустым и жмем ОК, если все и впрямь ОК, то в выпадающем списке появится список таблиц нашей базы данных (а свойство Connected компонента ADOConnection1 должно стать True). Выбираем таблицу, которую нам необходимо вывести (обратите внимание, что для вывода каждой таблицы необходим отдельный компонент ADOTable, но ADOConnection для всех один!). Теперь устанавливаем на форму компонент DataSource со вкладки Data Access. Свойство DataSet этого компонента меняем на ADOTable1 (опять выпадающий список). Ну и наконец, ставим DBGrid с вкладки Data Controls и свойству DataSource присваиваем значение DataSource1. Примечание 1: Учтите, что иногда при изменениях свойств некоторых компонентов свойство Active автоматом сбрасывается в False, поэтому не забывайте потом опять присваивать ему True. |