Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Form1-function-Form2 (https://www.delphipraxis.net/165683-form1-function-form2.html)

t0mmy 11. Jan 2012 12:30

AW: Form1-function-Form2
 
Also ich habs jetzt mal angeschaut. Dann stimmt was bei der Funktion nicht:

Sie gibt mir als Rückgabewert False -.-

Hier mal ein auszug:

Delphi-Quellcode:
function Connection_Herstellen(pConnection: TADOConnection; pConnectionString: String): Boolean;
begin
    if pConnection.Connected = False then
    begin
      pConnection.ConnectionString := pConnectionString;
    try
      pConnection.Open;
      Result := True;
    except
    on E: Exception do
      begin
        Result := False;
        //MessageBox(0, 'Fehler beim Verbinden mit der Datenbank!', '',
        //MB_ICONERROR or MB_OK);
      end;
    end;
    end;
end;

DeddyH 11. Jan 2012 12:33

AW: Form1-function-Form2
 
Gibt Dein Compiler da keine Warnung aus? Was kommt denn zurück, wenn pConnection.Connected true ist?

Luckie 11. Jan 2012 12:39

AW: Form1-function-Form2
 
Delphi-Quellcode:
function Connection_Herstellen(pConnection: TADOConnection; pConnectionString: String): Boolean;
begin
  Result := False;
  if pConnection.Connected = False then
  begin
    pConnection.ConnectionString := pConnectionString;
    pConnection.Open;
    Result := True;
  end;
end;
So sieht das richtig aus, dann weißt du auch, was nicht funktioniert.

Und der Aufruf:
Delphi-Quellcode:
try
  if Connection_Herstellen then
  begin
    // weitere Code
  end
  else
    Form2Oeffnen;
  except
  on E: Exception do
  begin      
    MessageBox(0, PChar(e.Message, '', MB_ICONERROR or MB_OK);
  end;
end;

Klaus01 11. Jan 2012 12:41

AW: Form1-function-Form2
 
sorry:

Delphi-Quellcode:
function Connection_Herstellen(pConnection: TADOConnection; pConnectionString: String): Boolean;
begin
  Result := False;
  if not pConnection.Connected then
  begin
    pConnection.ConnectionString := pConnectionString;
    pConnection.Open;
    Result := True;
  end;
end;
Grüße
Klaus

DeddyH 11. Jan 2012 12:44

AW: Form1-function-Form2
 
Oder so:
Delphi-Quellcode:
function Connection_Herstellen(pConnection: TADOConnection; pConnectionString: String): Boolean;
begin
  if not pConnection.Connected then
    try
      pConnection.ConnectionString := pConnectionString;
      pConnection.Open;
    except
      on E: Exception do
        begin
          MessageBox(0, PChar('Fehler beim Verbinden mit der Datenbank:' + sLineBreak + E.Message), '', MB_ICONERROR or MB_OK);
        end;
    end;
  Result := pConnection.Connected;
end;

t0mmy 11. Jan 2012 13:00

AW: Form1-function-Form2
 
Danke DeddyH

Aber so ganz ist das Problem noch nicht behoben. Wenn die Verbindung hergestellt und ich dann den SQL server beende und dann die procedure nochmal ausführe dann öffnet er mir nicht die Form2

Bzw. warum bleibt eine Verbindung offen wenn ich den SQL Server doch beendet habe?

Luckie 11. Jan 2012 13:05

AW: Form1-function-Form2
 
Wie soll denn der Client merken, dass der Server nicht mehr da ist? Der Server schickt ihm ja keine Benachrichtigung. also kann der Client die Verbindung auch nicht schließen.

Bernhard Geyer 11. Jan 2012 13:07

AW: Form1-function-Form2
 
Zitat:

Zitat von t0mmy (Beitrag 1145402)
Aber so ganz ist das Problem noch nicht behoben. Wenn die Verbindung hergestellt und ich dann den SQL server beende und dann die procedure nochmal ausführe dann öffnet er mir nicht die Form2

Wieso gibst du solche Informationen nicht gleich Preis. So hatten wir eine schöne Raterunde. :evil:

Zitat:

Zitat von t0mmy (Beitrag 1145402)
Bzw. warum bleibt eine Verbindung offen wenn ich den SQL Server doch beendet habe?

Weil es normal ist das der Client nicht (sofort) mitbekommt das die Verbindung zum Server aufgrund von Fehlern im Netzwerk oder heruntergefahrenen Server unterbrochen ist. Erst wenn du wieder etwas mit der Verbindung machst (Abfrage, ...) würde dies festgestellt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:27 Uhr.
Seite 2 von 2     12   

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