Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Kein flexible Datenbankverbindung mehr (https://www.delphipraxis.net/101055-kein-flexible-datenbankverbindung-mehr.html)

Jack23 7. Okt 2007 21:05

Datenbank: Access • Version: 2003 • Zugriff über: ADO

Kein flexible Datenbankverbindung mehr
 
Klickt vielleicht blöd aber ich möchte keine flexible Datenbankverbindung mehr. Mich stört bei jedem start des Programms das Login Fenster. Deswegen möchte ich das weghaben.

Ich habe das nach diesem Tutorial gemacht. Ich möchte das so haben: Pfad der .exe gleich Pfad der Datenbank. Wie mache ich das im Zusammenhang mit einer ADOConnection?

mkinzler 7. Okt 2007 21:07

Re: Kein flexible Datenbankverbindung mehr
 
Nimm ein DataModul. beim Erzeugen des Moduls dann Pfad usw. setzen.
Setzte .LoginPrompt auf False.

Jack23 7. Okt 2007 21:10

Re: Kein flexible Datenbankverbindung mehr
 
Perfekt! Löst aber leider nicht mein zweites Problem. Dynamischer Pfad also bei jedem System.

Das heißt Pfad der Datenbank gleich Pfad der exe. Und das mit der ADOConnection.

mkinzler 7. Okt 2007 21:13

Re: Kein flexible Datenbankverbindung mehr
 
Warum nicht? Wenn beim erzeugen des Datenmoduls (also bei jedem Start der Pfad der Exe ausgelesen wird aund als Pfad für die Connection gesetzt wird?

Jack23 7. Okt 2007 21:14

Re: Kein flexible Datenbankverbindung mehr
 
Genau so meine ich das. Nur wie kann ich das machen?

mkinzler 7. Okt 2007 21:16

Re: Kein flexible Datenbankverbindung mehr
 
Was ist dein Problem?

Jack23 7. Okt 2007 21:17

Re: Kein flexible Datenbankverbindung mehr
 
Wie bekomme ich automatisch beim jedem Start das ausgelesen und eingefügt?

mkinzler 7. Okt 2007 21:21

Re: Kein flexible Datenbankverbindung mehr
 
Wie bei einer noramlen Form auch im .onCreate
Also nochmal der Tipp: Schaff endlich mal die Grundlagen in deinem Wissen!!!!

Jack23 7. Okt 2007 21:27

Re: Kein flexible Datenbankverbindung mehr
 
Die Grundlage sagen aber dazu nicht viel. Außerdem lerne ich viel besser aus Beispielen.

onCreate ist schon klar wie ermittel ich den Pfad? ExtractFilePath(ParamStr(0)) oder?

Wie bekomme ich den Pfad dann in die Connection? Wo muss das onCreate hin? ins DatenModul?

:angel:

Jack23 7. Okt 2007 21:38

Re: Kein flexible Datenbankverbindung mehr
 
Bis jetzt habe ich das schon so:
Delphi-Quellcode:
procedure TDataModule2.Create(Sender: TObject);
begin
ExtractFilePath(ParamStr(0));
ADOConnection1.ConnectionString:=ExtractFilePath(ParamStr(0));
end;
Ich glaube so in der Art müsste es gehen. Aber jetzt öffnet sich die Anwendung nicht mehr.

mkinzler 7. Okt 2007 21:39

Re: Kein flexible Datenbankverbindung mehr
 
Zitat:

Die Grundlage sagen aber dazu nicht viel. Außerdem lerne ich viel besser aus Beispielen.
Genausowenig wie du chinesisch anhand ein paar Vokabeln lernen kannst, kann du eine Programmiersprache ohne ihre Grundlagen und den grundlegenden Aufbau ihrer Bibliotheken lernen.
Zitat:

wie ermittel ich den Pfad? ExtractFilePath(ParamStr(0)) oder?
Ja

Zitat:

Wo muss das onCreate hin? ins DatenModul?
Wenn du es beim Start diesen setzen willst, ja. Schon diese Frage zeigt wieder wie viel du von der VCL weist.

Zitat:

Wie bekomme ich den Pfad dann in die Connection?
Durch setzen der entsprechenden Eigenschaft.

Jack23 7. Okt 2007 21:43

Re: Kein flexible Datenbankverbindung mehr
 
Ist denn die Codestelle falsch? Und was muss ich daran ändern?

mkinzler 7. Okt 2007 21:45

Re: Kein flexible Datenbankverbindung mehr
 
1.Zeile überflüssig.
2. Zeile: das ist kein Connection String.

Jack23 7. Okt 2007 21:48

Re: Kein flexible Datenbankverbindung mehr
 
Aber vorher war es doch auch so: ADOConnection1.ConnectionString:=DSN;

Und wie gebe ich ExtractFilePath(ParamStr(0)); aus um es da wieder einzufügen?

mkinzler 7. Okt 2007 21:49

Re: Kein flexible Datenbankverbindung mehr
 
Schau dir mal den Aufbau einer DSN an!

Jack23 7. Okt 2007 21:51

Re: Kein flexible Datenbankverbindung mehr
 
So vielleicht etwas besser? ExtractFilePath(ParamStr(0))+'db.mdb';


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz