Кстати решил проблему вроде делаю ADOTable.Close; тока у меня потом на файловую переменную ругается...из файла пароль к БД как бы подгружаю...до этого не ругалось =(
Код:
try
assignfile(hFile,'pas.txt');
reset(hFile);
read(hFile,pas);
CloseFile(hFile);
Except showmessage('Отсутствует пароль');
end;
вылетает косяк после reset(hFile); переменая не считывается...и блин все равно новую базу не создает после такой чистки, раньше вроде хотя бы в старую дописывал,а теперь вообще висит...
процедуры на открытие файла
Код:
ADOConnection1.Connected:=false;
ADOConnection2.Connected:=false;
ADOTable1.Active:=false;
ADOTable2.Active:=false;
ADOTable3.Active:=false;
pyt:='';
if OpenDialog1.Execute then begin
pyt:='Provider=Microsoft.Jet.OLEDB.4.0;' ;
pyt:=pyt+'Data Source='+OpenDialog1.FileName+';' ;
pyt:=pyt+'Persist Security Info=False;' ;
pyt:=pyt+'Jet OLEDB:Database Password='+pas ;
ADOConnection1.ConnectionString:=pyt;
ADOConnection2.ConnectionString:=pyt;
ADOConnection1.Connected:=true;
ADOConnection2.Connected:=true;
ADOTable1.Active:=true;
ADOTable2.Active:=true;
ADOTable3.Active:=true;
и создание новой базы
Код:
ADOConnection1.Connected:=false;
ADOConnection2.Connected:=false;
ADOTable1.Active:=false;
ADOTable2.Active:=false;
ADOTable3.Active:=false;
if not CopyFile('base\db1.mdb','base\dbx',true)then
begin
x1:
if not CopyFile(Pchar('system\db1'), Pchar('base\db'+inttostr(nm)+'.mdb'), true) then
begin
nm:=nm+1;
ShowMessage('Error');
goto x1;
end
else
end
else begin
ADOConnection1.Connected:=true;
pyt:='base\db'+inttostr(nm)+'.mdb';
end;
pyt:='base\db'+inttostr(nm)+'.mdb';
//ADOConnection1.Connected:=true;
ADOConnection1.ConnectionString:=pyt;
ADOConnection2.ConnectionString:=pyt;
ADOConnection2.Connected:=true;
ADOTable1.Active:=true;
ADOTable2.Active:=true;
ADOTable3.Active:=true;
в продуре создания программа зависат(вроде тупо зацикливается) на showmessage (после открытия)...хотя когда первый раз запускаю нормально

мб я как-то косячно создаю? как бы там лежит пустая база, у нее номерок смотрю, и увеличиваю на скока надо для новой базы....
новая процедура очистки вроде )))
Код:
ADOTable1.ConnectionString:='';
ADOTable1.Active := false;
ADOTable1.Close;
ADOTable2.ConnectionString:='';
ADOTable2.Active := false;
ADOTable2.Close;
ADOTable3.ConnectionString:='';
ADOTable3.Active := false;
ADOTable3.Close;