MySQL-Verbindungsverhalten

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    MySQL-Verbindungsverhalten

    Hi,

    meine Fragen sind, wie sich eine MySQL-Verbindung nach der Erstellung durch ein VB-Programm verhält.

    Ist ein wenig schwer zu sagen aber ich versuchs mal.

    1. Wird eine MySQL-Verbindung automatisch geschlossen, wenn ich die "Ersteller"-Form schliesse?
    2. Ist eine MySQL-Verbindung die in einer Sub erstellt wurde für eine ganze Form gültig?
    3. Wäre es möglich eine MySQL-Verbindung für ein ganzes Programm bereitzustellen? (Hierbei ist wichtig, dass pro Form sehr viele Daten anfallen.)

    Danke schonmal für die Antworten.
    1. Glaube ja
    2. Ja. Wenn du eine eigene Sub mit der verbindung hast musst du diese einfach Imotieren
    Beispiel:

    VB.NET-Quellcode

    1. Privat Sub verbindung
    2. 'hier deine Verbindungen
    3. End Sub


    Importieren:

    VB.NET-Quellcode

    1. verbindung()


    Schon hast du die Verbindung z.b. in einem Button

    3. Wenn sehr viele Daten anfallen, würde ich für jede Funktion eine neue verbindung aufbauen. So hast du in jeder funktion nur einmal die Verbindung offen

    1. Normal ja, wobei es nicht ganz sauber ist, vlt. ist die Verbindung noch offen wenn sie nicht ordentlich Disposed wird, aber spätestens wenn der GC vorbei kommt Speicher aufräumen wird die Verbindung geschlossen. Drauf zugreifen wirste aber bereits nach dem Schließen der Erstellerform nicht mehr können. Die Verbindung steht nur im Speicher noch.

    2. Wenn du die Verbindung in der Sub Deklarierst, musst du sie an weitere Methoden mitgeben, ansonsten ist die Variable und somit die Verbindung nur in der Sub und ggf. derne Untermethoden Gültig.

    3. Einfach als Public deklarieren in einer Form die die ganze Zeit offen bleibt. Zur not ggf. ein Modul nutzen.


    @Patrick1993: jedes Mal eine neue Verbindung aufmachen ist absoluter Schwachsinn, das hat absolut KEINE auswirkungen auf die Datenmenge.
    Eine Verbindung wird durch das Connection-Objekt repräsentiert und gekapselt.
    Die Verbindung wird genau dann geschlossen, wenn Connection.Close() aufgerufen wird.
    Connection.Close wird intern aufgerufen, wenn die Connection disposed wird.
    Die Connection wird auch disposed, wenn die Anwendung geschlossen wird.

    Natürlich kannst du auch Form-Weite oder Anwendungsweit gültige Connection-Objekte erstellen.