Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  3 780

•  TDictionary Custom Sort  5 893

•  Fast Watermark Sources  5 689

•  3D Designer  8 462

•  Sik Screen Capture  6 027

•  Patch Maker  6 471

•  Айболит (remote control)  6 465

•  ListBox Drag & Drop  5 325

•  Доска для игры Реверси  94 896

•  Графические эффекты  6 671

•  Рисование по маске  5 779

•  Перетаскивание изображений  4 848

•  Canvas Drawing  5 225

•  Рисование Луны  4 946

•  Поворот изображения  4 489

•  Рисование стержней  3 182

•  Paint on Shape  2 426

•  Генератор кроссвордов  3 303

•  Головоломка Paletto  2 611

•  Теорема Монжа об окружностях  3 395

•  Пазл Numbrix  2 246

•  Заборы и коммивояжеры  2 904

•  Игра HIP  1 874

•  Игра Go (Го)  1 786

•  Симулятор лифта  2 122

•  Программа укладки плитки  1 854

•  Генератор лабиринта  2 292

•  Проверка числового ввода  1 980

•  HEX View  2 289

•  Физический маятник  1 954

 
скрыть

  Форум  

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

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



Delphi Sources

Пароли на базу данных 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;




Похожие по теме исходники

Экспорт баз данных в Excel

База данных "Книжный магазин"

База данных Видеофильмов

База данных "Школа"

 

База данных без BDE

База данных студентов

Фильтрование данных

Pevrica (сжатие данных)

 

Transfer Tables Excel-Access




Copyright © 2004-2025 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте