|
Программирование под Майкрософт.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:
- Создайте 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.
|