скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Как открыть базу данных Microsoft Access .MDB в Delphi



Программирование под Майкрософт.Net - это как секс с представителем своего пола - пока этим не займешься, сама мысль об этом кажется извращением. После того, как этим займешься, понимаешь, что наверное что-то в этом есть, но друзьям признаться стыдно.

ADO

Если у Вас Delphi 5 Enterprise или Delphi 5 Professional с ADO Express, то Вы можете использовать компонент ADOTable и в его свойстве ConnectionString настроить (build) подключение как базе данных MS Access. Например:

Provider=Microsoft.Jet.OLEDB.4.0;
User ID=Admin;
Password=Password;
Data Source=D:\Path\dbname.mdb;
Mode=ReadWrite;
Extended Properties=" " ;
Persist Security Info=False;
Jet OLEDB:System database=" " ;
Jet OLEDB:Registry Path=" " ;
Jet OLEDB:Database Password=" " ;
Jet OLEDB:Engine Type=5;
Jet OLEDB:Database Locking Mode=1;
Jet OLEDB:Global Partial Bulk Ops=2;
Jet OLEDB:Global Bulk Transactions=1;
Jet OLEDB:New Database Password=" " ;
Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;
Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=True;
Jet OLEDB:SFP=False

При этом будет открыта база данных 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:

  1. Создайте DSN (Data Source Name) для Вашей базы данных (используя апплет ODBC Data Sources в панели управления).
  2. Кликните на закладку " System DSN" или " User DSN"
  3. Кликните по кнопке " Add..."
  4. Выберите " Microsoft Access Driver (*.mdb)" и нажмите ENTER. Появится диалоговое окошко " ODBC Microsoft Access Setup" .
  5. Задайте имя в текстовом окошке Data Source Name (без пробелов и без специальных символов).
  6. Кликните по кнопке " Select..." чтобы выбрать нужный файл .MDB.
  7. Если у Вас установлена схема безопасноти, то выберите радио кнопку " Database" в " System Database" , а затем кликните кнопку " System database..." , чтобы указать файл рабочей группы .MDW или .MDA.
  8. Если Вы хотите указать имя пользователя и пароль, то нажмите кнопку " Advanced..." . Данный способ защиты является низкоуровневым, так как любой, кто имеет доступ к Вашей машине может спокойно посмотреть свойства DSN. Если Вам необходим более высокий уровень защиты, то задавать имя пользователя и пароль необходимо на стадии открытия базы данных (см. ниже).
  9. В заключении нажмите " OK" , после чего Ваш DSN будет сохранён.
  10. В Delphi установите свойства компонента TDatabase:
  11. В DatabaseName задайте имя, которое указали в DSN.
  12. Если Вы хотите, чтобы пользователя спрашивали имя и пароль, то установите LoginPrompt в True.
  13. Если Вы не хотите использовать стандартный диалог имени и пароля (или если имя и пароль будут задаваться программно), то установите LoginPrompt в False и задайте свойство Params (или задайте эти свойства по ходу выполнения программы):
    USER NAME=your_username
    PASSWORD=your_password
    
  14. Свяжите компоненты TTable или TQuery с компонентом TDatabase, как рассказывалось Выше, просто указав тоже имя (которое было задано в DSN) в их соответствующих свойствах DatabaseName.





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook