Autor Beitrag
Andi1982
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Mo 26.05.03 22:41 
Hallo,
ich habe einen Select in query1:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
   query1.Active := False;
   query1.SQL.Clear;
   query1.SQL.Text := 'Select max(Lied_ID) from Lieder.db';
   query1.Active := True;


das hat am anfang auch wunderbar funktioniert. Allerdings habe ich jetzt in der Form vorher noch einen TOpenDialog eingebaut um an ein Verzeichnis zu kommen. Wenn ich dann meinetwegen F:\test\test.mp3 im OpenDialog geöffnet habe und danach der SQL ausgeführt werden soll kommt folgende Fehlermeldung:

Zitat:
Tabelle nicht vorhanden
Datei oder Verzeichnis nicht vorhanden
Datei: F:\Test\Lieder.db.


Aber was verändert der OpenDialog am Arbeitspfad?? Vorher hat er die Lieder.db doch auch gefunden weil sie im selben verzeichnis steht wie die projektdateien.

Bitte helft mir!!

Gruss Andi

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Luncustaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: Mo 26.05.03 22:58 
hi,

du hast im query1 ja die eigenschaft connection darin sit eine connection eingetragen.

in der conenction ist der pfad zu datenbank gespeichert du musst dir also quasi den pfad zur datenbank in dem conenctionstring der connection zusammenbauen.

gr€€tz
Andi1982 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Mo 26.05.03 23:06 
Hm,
ich kann in query1 nirgends eine Eigenschaft Connection finden. Außerdem versteh ich nicht warum es vor dem aufruf von TOpenDialog noch funktioniert hat und danach nicht mehr.

Gibt es nicht eine andere Variable wo das aktuelle Arbeitsverzeichnis hinterlegt ist oder so??

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Di 27.05.03 08:28 
@Andy1982:

Hast du eine TDatabase-Komponente, oder gibst du den DB-Pfad direkt bei der Query an?
Anyway, das Problem ist ganz einfach, dass du einen relativen Pfad verwendest ("lieder.db") anstelle eines absoluten ("C:\meinProg\lieder.db").
Zunächst ist dann alles richtig, denn du befindest dich ja bei Programmstart im Programmverzeichnis. Dann aber wechselst du per Opendialog das aktuelle Dir, und schwupp, versucht die Query, dort nach einer lieder.db zu schauen...

Es gibt übrigens noch eine andere Möglichkeit das Problem zu lösen:
Unter der Eigenschaft Options von TOpendialog gibt es das Flag NoChangeDir, wenn du es aktivierst, wird nach dem Betätigen von Opendialog.Execute das vorherige Verzeichnis wieder das aktuelle.

Cu,
Udontknow
foxy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 814

Ubuntu, Gentoo
C++, PHP, Java, Ruby, Perl (Eclipse)
BeitragVerfasst: Di 27.05.03 08:50 
oder du gibst den pfad einfach an bei deiner querry

:shock:

ausblenden Quelltext
1:
ExtractFilePath(ParamStr(0))+'\test\lieder.db'					


dann isses schnuppe in welchem pfad du dich befindest

_________________
"Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it." (Linus Torvalds)
OperatingSystem Laptop (Ubuntu Hardy)
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Di 27.05.03 09:03 
Was ja dann ein absoluter Pfad ist... :wink: Die meisten Programme benutzen eigentlich eine Ini-Datei, um solche Pfade von aussen ändern zu können.

Cu,
Udontknow
Andi1982 Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 497

WinXP HE
D6 Enterprise
BeitragVerfasst: Di 27.05.03 11:48 
Ah Verstehe!!

Danke ihr habt mir sehr geholfen!!!

_________________
Solange die Bombe tickt ist alles in Ordnung, erst wenn sie damit aufhört wird es problematisch...