Как открыть базу данных Microsoft Access .MDB в Delphi
Программирование под Майкрософт.Net - это как секс с представителем своего пола - пока этим не займешься, сама мысль об этом кажется извращением.
После того, как этим займешься, понимаешь, что наверное что-то в этом есть, но друзьям признаться стыдно.
ADO
Если у Вас Delphi 5 Enterprise или Delphi 5 Professional с ADO Express, то Вы можете использовать компонент
ADOTable и в его свойстве ConnectionString настроить (build) подключение как базе данных MS Access. Например:
При этом будет открыта база данных D:\Path\dbname.mdb, будет использован драйвер ADO для базы данных Access
(Microsoft.Jet.OLEDB.4.0). Имя пользователя будет Admin без пароля
(эти значения присваиваются поумолчанию при создании базы Access).
Если Вы всё-таки захотите использовать пароль, то его надо будет задать в ствойстве Jet OLEDB:Database Password.
Если у Вас установлен режим безопасности, то необходимо указать файл .MDW или .MDA в свойстве Jet OLEDB:System database.
BDE
Так же для открытия базы данных Access можно воспользоваться BDE которая содержит родной драйвер (MSACCESS).
В компоненте Database установите следующие свойства:
DatabaseName = any_name (или alias_name)
DriverName = MSACCESS
LoginPrompt = False
Params = PATH=d:\path
DATABASE NAME=d:\path\filename.mdb
TRACE MODE=0
LANGDRIVER=Access General
USER NAME=Admin
PASSWORD=your_password
OPEN/MODE=READ/WRITE
SQLPASSTHRU MODE=NOT SHARED
Значения свойства DatabaseName объекта Database, это то, которое Вы будете использовать
в свойстве DatabaseName компонентов Table и Query, которые представляют таблицы и
запросы для этой базы данных (тем самым связывая их с объектом Database).
BDE+ODBC
В случае с базой данных Access, BDE предоставляет драйвер, однако существует множество других баз,
для которых в BDE драйвера нет, но для которых есть драйвер ODBC. ODBC обычно используется
для небольших баз данных или в приложениях, в которых присутствуют только операции импорта/экспорта...
Ниже приведён пример использования драйвера ODBC с BDE для открытия базы данных Access:
Создайте DSN (Data Source Name) для Вашей базы данных (используя апплет ODBC Data Sources в панели управления).
Кликните на закладку " System DSN" или " User DSN"
Кликните по кнопке " Add..."
Выберите " Microsoft Access Driver (*.mdb)" и нажмите ENTER. Появится диалоговое окошко " ODBC Microsoft Access Setup" .
Задайте имя в текстовом окошке Data Source Name (без пробелов и без специальных символов).
Кликните по кнопке " Select..." чтобы выбрать нужный файл .MDB.
Если у Вас установлена схема безопасноти, то выберите радио кнопку " Database" в " System Database" ,
а затем кликните кнопку " System database..." , чтобы указать файл рабочей группы .MDW или .MDA.
Если Вы хотите указать имя пользователя и пароль, то нажмите кнопку " Advanced..." .
Данный способ защиты является низкоуровневым, так как любой, кто имеет доступ
к Вашей машине может спокойно посмотреть свойства DSN. Если Вам необходим более высокий уровень защиты,
то задавать имя пользователя и пароль необходимо на стадии открытия базы данных (см. ниже).
В заключении нажмите " OK" , после чего Ваш DSN будет сохранён.
В Delphi установите свойства компонента TDatabase:
В DatabaseName задайте имя, которое указали в DSN.
Если Вы хотите, чтобы пользователя спрашивали имя и пароль, то установите LoginPrompt в True.
Если Вы не хотите использовать стандартный диалог имени и пароля
(или если имя и пароль будут задаваться программно),
то установите LoginPrompt в False и задайте свойство Params (или задайте эти свойства по ходу выполнения программы):
USER NAME=your_username
PASSWORD=your_password
Свяжите компоненты TTable или TQuery с компонентом TDatabase,
как рассказывалось Выше, просто указав тоже имя (которое было задано в DSN)
в их соответствующих свойствах DatabaseName.
В статье описывается, как открыть базу данных Microsoft Access .MDB в Delphi с помощью ADO, BDE и ODBC.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.