Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как поставить пароль на MDB в рантайме [D6, M$ Access2000]


Лесник ©   (2003-03-28 20:45:00) 

Помогите с такой проблемой. В рантайме создается база данных аксеса, и после ее создания необходимо поставить на нее пароль тоже в рантайме. Пример создания базы:

procedure TfrmNewDatabase.FlatButton1Click(Sender: TObject);
var DataSource,dbName:string;
db: Database;
begin
dbName:="D;\Samples\samle.mdb";
DataSource:="Provider=Microsoft.Jet.OLEDB.4.0" +";Data Source=" + dbName +";Jet OLEDB:Engine Type=5";
MSADOCatalog1.Create1(DataSource);
MSADOCatalog1.Disconnect;
MSADOCatalog1.Free;
//db.Close;
ADOCommand.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+dbName+";Mode=ReadWrite;Persist Security Info=False";
ADOCommand.CommandText:="ALTER DATABASE PASSWORD "новыйпароль" """;
ADOCommand.Execute;
end;

Если db.Close;закоментировано получаю сообщение что пытаюсь подключится к БД которая УЖЕ эксклюзивно открыта, а если раскоментировать db.Close;то получаю ошибку нарушения доступа и указатель становится на строку db.Close;
Как же всетаки запаролить БД, или для аксеса другая команда закрыть БД не db.Close;
Спасибо.


Лесник   (2003-03-28 23:07:00) [1]

Нд-а значит пора отдохнуть, переработался.
Спасибо за помощь.


sniknik   (2003-03-28 22:52:00) [2]

почему не добавиш строчку чтобы база создавалась с паролем?
...
DataSource:= "Provider=Microsoft.Jet.OLEDB.4.0" +";Data Source=" + dbName +";Jet OLEDB:Engine Type=5; Jet OLEDB:Database Password=111;";
MSADOCatalog1.Create1(DataSource);
...
пароль тут 111, если не догадался :о)))

(ALTER ... для изменения существующего, кстати кавычки "" лишние)

и еще эксклюзивно открыта база у которой в строке есть Mode=Share Deny Read|Share Deny Write;


Наверх

Титульная страница Поиск, карта сайта Написать письмо