Показать сообщение отдельно
  #4  
Старый 30.06.2010, 02:22
ZaaaK ZaaaK вне форума
Прохожий
 
Регистрация: 23.06.2010
Сообщения: 16
Репутация: 10
По умолчанию sdf

Кстати решил проблему вроде делаю 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;
Ответить с цитированием