Entwickler-Ecke
Datenbanken - ADO-Connection an aktuellen Ordner anpassen
Metalbenny - Sa 12.04.08 08:10
Titel: ADO-Connection an aktuellen Ordner anpassen
Hi,
ich habe ein Problem mit meiner ADO-Connection. Es ist zwar problemlos möglich, mit ihr zu arbeiten, solange ich den Ordner nicht ändere. Kopiere ich das Projekt aber in einen anderen Ordner und versuche ich es dort weiterzubearbeiten, muss ich jedes Mal den aktuellen Ordner vor dem Compilieren manuell beim Connectionstring einstellen.
Nun zu meiner Frage:
Gibt es eine Delphi-Funktion, die ein automatisches ändern des Dateipfades bei ADOConnections ermöglicht?
Und wenn nicht, könnt ihr mir sagen, wie ich den aktuellen Dateipfad meines Projektes auf eine String-Variable bekomme?
Danke schonmal im Voraus!
mfG Benny
Bernhard Geyer - Sa 12.04.08 08:33
Mit
Delphi-Quelltext
1:
| strPfad := ExtractFilePath(Application.ExeName) |
bekommst du den Pfad der Exe.
und mit
Delphi-Quelltext
1:
| ADODatabase.Connection := Format('Angepaßter Connectionstring mit PLatzhalter', [strPfad + '\Datenbankdateiname']); |
kannst du die Connection anpassen.
Vergiss aber nicht das wenn dein Programm unter C:\Programme installiert ist der User u.U. keine Schreibrechte in diesen Verzeichnissen hat.
Moderiert von
Klabautermann: Delphi-Tags hinzugefügt.
SmileySN - Sa 12.04.08 08:36
Ja, das ist machbar.
1. Du darfst den Pfad zur Datenbank nicht im Objektinspector setzen und dort auch nicht die Connection auf Active=True setzen.
2. Wenn die Datenbank im Programmpfad liegt, dann kannst Du diesen Pfad mit ExtractFilePath(Application.exename) herausfinden.
3. du musst den Connectionstring selbst im Programm zusammensetzen und der Connection zuweisen.
z.B. so:
DM ist mein DataModule, Con1 ist die Connection Komponente,QKat ist eine Query.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| DM.Con1.Connected := False; DBName := 'Adressenkartei.mdb';
ConnString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + DBName + ';Mode=share deny none;Persist Security Info=False'; with DM.Con1 do begin try ConnectionString := ConnString;
LoginPrompt := False; Connected := True; DM.QKat.Active := True; except ShowMessage('Die Datenbank ist nicht vorhanden'); Halt; end; |
Metalbenny - Sa 12.04.08 10:46
jo vielen Dank für die Antworten, jetz müsst ichs ja hinkriegen.^^
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!