Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi D7: ADOConnection Datamodul, aber keine Daten zur Laufzeit (https://www.delphipraxis.net/16138-d7-adoconnection-datamodul-aber-keine-daten-zur-laufzeit.html)

Kevin 11. Feb 2004 09:42


D7: ADOConnection Datamodul, aber keine Daten zur Laufzeit
 
D7: ADOConnection Datamodul, aber keine Daten zur Laufzeit

Hallo Leute,

ich möchte mit Delphi 7 Professional auf zwei Accessdatenbanken zugreifen, scheitere aber schon an einer einzigen ADOConnection... :(

Da ich zwei AccessDBs einbinden möchte und weil ich glaube, daß es eine saubere Lösung ist, verwende ich DataModule. Eine Verbindung bekomme ich auch hin, das ist nicht das Problem. Mein Problem ist, daß ich trotz dieser Verbindung zur Laufzeit keine Daten angezeigt bekomme...

In einem anderen Forum habe ich gelesen, daß es daran liegen könnte, daß das DataModule erst nach den anderen Units erzeugt wird. Als Lösung wurde folgender Code vorgeschlagen:

Delphi-Quellcode:
begin
    Application.Initialize;
    Application.CreateForm(TDatenModul1, DatenModul1);
    Application.CreateForm(TForm1, Form1);
    Application.Run;
end.
Also die Erzeugung des DataModules vor dem Hauptformular. Klappt aber nicht...

Ok, auch wenn es wahrscheinlich eine echte Newbie-Frage ist, brauche ich dringend eine Lösung :thuimb:

sakura 11. Feb 2004 09:44

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Zitat:

Zitat von Kevin
Mein Problem ist, daß ich trotz dieser Verbindung zur Laufzeit keine Daten angezeigt bekomme...

Mal eine Frage vorweg, bekommst Du denn Daten während der Design-Zeit, also in der IDE zu sehen?

...:cat:...

P.S.: Herzlich willkommen in der DP ;-)

Kevin 11. Feb 2004 09:47

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Ja, in der IDE bekomme ich die Daten korrekt angezeigt

Kevin 11. Feb 2004 09:48

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Zitat:

Zitat von sakura
P.S.: Herzlich willkommen in der DP ;-)

Oops, übersehen... :oops: Danke :thuimb:

r_kerber 11. Feb 2004 11:18

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Hallo Kevin,

hast Du schon mal überprüft, ob die DB-Connection zur Laufzeit aktiviert und die Tabellen geöffnet werden?

Kevin 11. Feb 2004 11:32

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Ich hab nun festgestellt, woran es liegt. :-D Weiß aber nicht warum... :pale:

Wenn ich folgende Prozedur deaktiviere, werden auch die Daten zur Laufzeit angezeigt:

Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
var DSN: string;
begin
  if ReadDSNFromRegistry(DSN)=true then begin
    if DataModule2.SetMeineAnwendungDSN(DSN)=true then
      if DataModule2.OpenDatabase=false then begin
        MessageDlg('Es konnte keine Verbindung zur Datenbank '+
        'aufgebaut werden.', mtError, [mbOK], 0);
        DatenbankKonfiguration1Click(Sender);
      end;
  end
  else if DataModule2.OpenDatabase=false then begin
    MessageDlg('Es konnte keine Verbindung zur Datenbank '+
    'aufgebaut werden.', mtError, [mbOK], 0);
    DatenbankKonfiguration1Click(Sender);
  end
  else begin
    MessageDlg('Es konnte keine DSN ausgelesen werden.',
    mtError, [mbOK], 0);
    DatenbankKonfiguration1Click(Sender);
  end;
end;
Wenn ich sie aktiviert lasse, läuft sie aber ohne Fehler durch, sodaß ich annehmen muß, daß das Auslesen des Strings erfolgreich war... :?

sakura 11. Feb 2004 11:40

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Erst einmal als allgemeine Regel: nie mit True oder False vergleichen.

Code:
procedure TForm1.FormShow(Sender: TObject);
var DSN: string;
begin
  if ReadDSNFromRegistry(DSN) then begin
    if DataModule2.SetMeineAnwendungDSN(DSN) then
    [color=#ec0000]begin[/color]
      if [color=#ec0000]not[/color] DataModule2.OpenDatabase then begin
        MessageDlg('Es konnte keine Verbindung zur Datenbank '+
        'aufgebaut werden.', mtError, [mbOK], 0);
        DatenbankKonfiguration1Click(Sender);
      end;
    [color=#ec0000]end
    else begin
        MessageDlg('SetMeineAnwendungDSN ist fehlgeschlagen', mtError, [mbOK], 0);
    end;[/color]
  end
  else if [color=#ec0000]not[/color] DataModule2.OpenDatabase then begin
    MessageDlg('Es konnte keine Verbindung zur Datenbank '+
    'aufgebaut werden.', mtError, [mbOK], 0);
    DatenbankKonfiguration1Click(Sender);
  end
  else begin
    MessageDlg('Es konnte keine DSN ausgelesen werden.',
    mtError, [mbOK], 0);
    DatenbankKonfiguration1Click(Sender);
  end;
end;
Und nun :?:

...:cat:...

Kevin 11. Feb 2004 11:47

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Leider keine Veränderung :( Ich steppe noch mal durch... :coder:

r_kerber 11. Feb 2004 12:00

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
Öffnest Du in OpenDatabase nur die DB-Connection oder werden da auch die Tabelle/Queries geöffnet (mit Open bzw. Active := true)?

Kevin 11. Feb 2004 12:12

Re: D7: ADOConnection Datamodul, aber keine Daten zur Laufze
 
:duck: Oh Mann, wie extrem hypermegapeinlich :oops: :oops: :oops: :oops: :oops:

Ich Blödmann hab einfach nur einen Code-Schnippsel für eine ADOConnection kopiert und nicht entsprechend abgeändert. Natürlich wurden da keine Tabellen explizit geöffnet. Hab ich nun ergänzt und siehe da, kaum macht man es richtig, funktioniert's :mrgreen:

Vielen, vielen Dank, daß ihr mir hier die Augen geöffnet habt. Und das auch noch so schnell und ohne mich als Newbie zu "beschimpfen" :thuimb:

Das hat aber jetzt zur Folge, daß ich hier öfters auftauche, weil es mir wirklich gut gefällt. Damit müßt ihr nun leben... :mrgreen:

Also, nochmals vielen Dank!!! :dp:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.
Seite 1 von 2  1 2      

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