Я его быстро собрал и всё работает… Может что то “мелочи” упустил. Но надеюсь вы меня этого простите
Смотрел про Clear на сайте http://docwiki.embarcadero.com/CodeExamples/Rio/en/FireDAC.MSAccess_Sample
with dbMain do begin
Close;
// create temporary connection definition
with Params do begin
Clear;
Add('DriverID=MSAcc');
Add('Database=x:\path_to_db\db.fdb');
end;
Open;
end;
в коде dbMain это FDConnection1 и там Clear не нужно. Clear нужно только при FDQuery1 который предназначено для SQL запроса.
Так и зачем он тогда тут?))
Clear нужен если в Params уже есть например Database=, потому что тогда Add добавит еще один Database= в конец, но использоваться будет первый.
Или писать через Values и т.п. как выше.
Да точно… извиняюсь я невнимательно смотрел код. Вот так будет правильно
procedure TForm1.Connect;
begin
try
Ini:=TiniFile.Create(extractfilepath(paramstr(0))+'Connect.ini');
with FDConnection1 do
begin
Connected := false;
Params.Clear;
Params.Add('DriverID=MSAcc');
Params.Add('Database=' + Ini.ReadString('Database','MyDatabase', ''));
Connected := true;
end;
FDQuery1.Open();
ini.Free;
except
MessageDlg('Ошибка!!! программа не может подключится к базе данных', mtError, [mbOK], 0);
Application.Terminate;
end;
end;
Acces_FDAC_2.rar (3.9 МБ)
Всем спасибо котятки, помогло. Я оказалась не внимательна к пути к базе. Нужно было еще не сразу активировать, а в форм криет активацию FDConnection и FDQuery делать.
и вам спасибо и всего хорошего обращайтесь, когда будет вопросы. мы рады что вы с нами и что у вас всё получилось.!