Entwickler-Ecke
Datenbanken - Probleme mit Connection String zur Laufzeit
Arne Danikowski - Fr 28.03.08 17:20
Titel: Probleme mit Connection String zur Laufzeit
Ich bin dabei ein kleines Tool zu erstellen, mit dem man DBASE Dateien in Access Datenbanken importieren kann.
Über eine ViewList liste ich alle gefundenen Access Datenbanken aus. Nun möchte ich mit einem Doppelklick auf eine beliebig gefundenen Access Datenbank
die Connection zur Datenbank herstellen.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.FoundFiles1DblClick(Sender: TObject); begin suchverzeichnis:=DirectoryEdit2.text; ChDir(suchverzeichnis);
if FoundFiles.Selected <> nil then begin with FoundFiles.Selected do accessdata:=FoundFiles.Selected.Caption; ADOConnection1.Connected:=false; ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+accessdata +';Persist Security Info=False'; ADOConnection1.Connected:=true; end; |
Die Variable accessdata scheint leer zu sein. Ist der obengenannte Code so OK?
Xion - So 30.03.08 14:23
die with ... do zeile ist soweit ich sehe sinnfrei ;)
versuche doch mal, als Source den Pfad+AcessData anzugeben
Arne Danikowski - Di 01.04.08 18:02
Stimmt die with...do Zeile war völlig SINFREI :)
Kommt vom copy Paste hehe.
Aber ich konnte das Problem lösen, die Connection zur einer MDB ist nicht ganz so simpel wie ich gedacht hatte.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| public function EditMeineAnwendungDSN(var DSN: string): Boolean; function GetMeineAnwendungDSN: string; function SetMeineAnwendungDSN(DSN: string): Boolean;
implementation
function TDataModule2.EditMeineAnwendungDSN(var DSN: string): Boolean; begin EditMeineAnwendungDSN:=true; if ADOConnection1.Connected=true then if CloseDatabase=false then begin EditMeineAnwendungDSN:=false; exit; end; if EditConnectionString(ADOConnection1)=true then DSN:=ADOConnection1.ConnectionString else EditMeineAnwendungDSN:=false; end;
function TDataModule2.GetMeineAnwendungDSN: string; begin GetMeineAnwendungDSN:=ADOConnection1.ConnectionString; end;
function TDataModule2.SetMeineAnwendungDSN(DSN: string): Boolean; begin SetMeineAnwendungDSN:=true; if ADOConnection1.Connected=true then if CloseDatabase=false then begin SetMeineAnwendungDSN:=false; Exit; end; ADOConnection1.ConnectionString:=DSN; end; |
Damit habe ich das dann hinbekommen.
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!