Home » Tutorials » Datenbanken » Flexible ADO-Connection zur Ansteuerung einer Access-Datenbank

Flexible ADO-Connection zur Ansteuerung einer Access-Datenbank

Verbindung aufbauen

Es geht darum, dem Benutzer zu ermöglichen, diese Verbindung zu ändern, z.B. weil er die .mdb verschoben hat oder zwischen mehreren Datenbanken wechseln will und, evtl. auch beim ersten Start, wenn wir den DSN nicht über die Installationsroutine erzeugen wollen.
Als erstes fügen wir in der MainUnit ganz oben unter uses unser Datenmodul ein:

uses ..., DatenmodulUnit;

Dann sollten wir mal das Öffnen und Schließen der Datenbank testen: Dazu werden wir zwei Funktionen im Datenmodul unter public einfügen:

public
  { Public declarations }
  function OpenDatabase: Boolean;
  function CloseDatabase: Boolean;
  ...

function TDataModule2.OpenDatabase: Boolean;
begin
  OpenDatabase:=true;
  try
    ADOConnection1.Open;
  except
    OpenDatabase:=false;
  end;
end;

function TDataModule2.CloseDatabase: Boolean;
begin
  CloseDatabase:=true;
  try
    ADOConnection1.Close;
  except
    CloseDatabase:=false;
  end;
end;

Die beiden Prozeduren können wir jetzt über das Menü im Hauptformular aufrufen. Dazu sollten wir erst einmal eine TMainMenu-Komponente in das Formular einfügen und die Items OpenDatabase und CloseDatabase anlegen. Das dürfte aber niemanden vor ein Problem stellen.

procedure TForm1.OpenDatabaseClick(Sender: TObject);
begin
  if DataModule2.OpenDatabase then
    MessageDlg('Die Datenbank konnte erfolgreich geöffnet werden', mtInformation, [mbOK], 0)
  else
    MessageDlg('Die Datenbank konnte nicht geöffnet werden', mtError, [mbOK], 0);
end;

procedure TForm1.CloseDatabaseClick(Sender: TObject);
begin
  if DataModule2.CloseDatabase then
    MessageDlg('Die Datenbank konnte erfolgreich geschlossen werden', mtInformation, [mbOK], 0)
  else
    MessageDlg('Die Datenbank konnte nicht geschlossen werden', mtError, [mbOK], 0);
end;

Das sollte funktionieren. Einfach mal testen.