Сейчас на сайте:
Пользователей: 0
Отсутствуют.
Роботов: 2
Yandex, Googlebot
Гостей: 84
Всех: 86
ВНИМАНИЕ! Конкурс по программированию!
Проект Programmers.kz и школа hotPen3D2D предлагает Вам курсы по веб-дизайну, веб-программированию и компьютерной графике. Подробности здесь.
Информация к новости
- Просмотров: 709
- Автор: AlexanderMS
Пароли на базу данных Access
Категория: Программирование » Delphi » Статьи и исходники » Базы данных » Access
Автор: Savva
WEB-сайт: http://delphibase.endimus.com
{ **** 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;Источник: delphiworld.narod.ru
Вернуться
Комментариев: 0
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.




