![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Пароли на базу данных AccessDelphi , Базы данных , Access
Автор: Savva { **** UBPFD *********** by delphibase.endimus.com **** >> Установка/Изменение/Удаление пароля на базу данных Access Функция для удаления, задания и изменения пароля базы данных Access используя DAO Engine. PS. кто будет использовать - в комментариях отметьте версии ОС, Access,Delphi. Зависимости: Dialogs,DAO2000,ComObj Автор: savva, savva@nm.ru, ICQ:126578975, Орел Copyright: Сапронов Алексей (Savva) Дата: 13 сентября 2002 г. ***************************************************** } //определяем тип, указывающий действие над паролем type TPasswordAction = (paSet, paChange, paRemove); .... function ChangeAccessDBPassword(DatabaseName: string; action: TPasswordAction; OldPassword: string = ''; NewPassword: string = ''): boolean; var DAO: _DBEngine; db: Database; ClassID: TGUID; V35, V36: string; oldPass, newPass: string; begin Result := false; V35 := 'DAO.DBEngine.35'; V36 := 'DAO.DBEngine.36'; try try ClassID := ProgIDToClassID(v36); except try ClassID := ProgIDToClassID(v35); except raise; end; end; DAO := CreateComObject(ClassID) as _DBEngine; if action = paSet then begin db := DAO.OpenDatabase(DatabaseName, true, false, ''); db.NewPassword(#0, NewPassword); end else begin db := DAO.OpenDatabase(DatabaseName, true, false, ';pwd=' + OldPassword); if action = paChange then db.NewPassword(OldPassword, NewPassword) else db.NewPassword(OldPassword, #0); end; Result := true; except // выводим сообщение о ошибке on E: Exception do begin Result := false; ShowMessage(e.message); end; end; end. Пример использования: //устанавливаем новый пароль - БАЗА ДОЛЖНА БЫТЬ НЕ ЗАПАРОЛЕНА, // иначе будет ошибка:) procedure TForm1.Button1Click(Sender: TObject); var newPass: string; begin if InputQuery('New password', 'Enter new password', newPass) then if ChangeAccessDBPassword(ExtractFilePath(ParamStr(0)) + 'db2.mdb', paSet, '', newPass) then ShowMessage('OK!') else ShowMessage('Error!'); end; //изменяем пароль procedure TForm1.Button2Click(Sender: TObject); var oldPass, newPass: string; begin if InputQuery('Old password', 'Enter old password', oldPass) then if InputQuery('New password', 'Enter new password', newPass) then if ChangeAccessDBPassword(ExtractFilePath(ParamStr(0)) + 'db2.mdb', paChange, oldPass, newPass) then ShowMessage('OK!') else ShowMessage('Error!'); end; //удаляем пароль procedure TForm1.Button3Click(Sender: TObject); var oldPass: string; begin if InputQuery('Password', 'Enter password', oldPass) then if ChangeAccessDBPassword(ExtractFilePath(ParamStr(0)) + 'db2.mdb', paRemove, oldPass, '') then ShowMessage('OK!') else ShowMessage('Error!'); end; Привет! Я переведу текст на русский язык: Объявление типа
Первая секция объявляет тип Функция
Функция использует DAO-инжиниринг для открытия указанного файла базы данных и выполнения запрошенного действия. Она возвращает булевое значение, указывающее, была ли операция успешной. Организация кода Код разделен на три основные секции:
Пример использования
Эти три процедуры демонстрируют, как использовать функцию
В целом, этот код предоставляет удобный способ управления паролями на базах данных Access с помощью DAO-инжиниринга изнутри приложения Delphi. Предложения
Рассмотрен способ установки, изменения и удаления пароля для базы данных Microsoft Access с помощью функции DAO Engine. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |