MySQL-Verbindung dauerhaft offen halten

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Vb K1ng.

    MySQL-Verbindung dauerhaft offen halten

    Hallo liebe Forum-User,
    Ich weiss das MySQL-Verbindungen über ein PHP-Skript laufen sollten, doch mein Projekt dient nur zu Testzwecken!
    Ich habe folgene Formen: login_form, register_form, chat_form.
    Bei jeder Form wird die MySQL-Verbindung erneut mit der open() Methode geöffnet.
    Da ich mir eine DB bei db4free.net registriert habe, läuft das ganze ziemlich (!!!) langsam.

    Die eigentlichen Fragen:
    • Wie kann ich die MySQL-Verbindung dauerhaft offen halten, so das auch alles nicht so langsam läuft.
    • Gibt es eine Möglichkeit während der open() Methode Application.DoEvents() aufzurufen ?
    Würde mich auch über andere Vorschläge, Ideen und Links freuen :)

    lg,
    VB K1ng
    Habe das mit dem neuen Thread vrsucht, Ergebnis:

    VB.NET-Quellcode

    1. Public Sub open()
    2. If (connection.State = ConnectionState.Closed) Then
    3. connection.Open()
    4. End If
    5. End Sub
    6. Public Function login(ByVal username As String, ByVal password As String) As Boolean
    7. Dim openThread As New Thread(New ThreadStart(AddressOf open))
    8. openThread.Start()
    9. Try
    10. command.CommandText = "SELECT password FROM user WHERE username = '" & username & "'"
    11. reader = command.ExecuteReader() ' Fehler: MySql connection must be valid and open ...
    12. reader.Read()
    13. Catch ex As MySqlException
    14. msgbox(ex.message)
    15. End Try


    Wieso funktioniert das nicht, kenne mich nicht aus miit neuen Threads.

    lg,
    VB K1ng
    Ok habs anders gelöst, Codeausschnitt:

    VB.NET-Quellcode

    1. Public Sub open()
    2. If (connection.State = ConnectionState.Closed) Then
    3. connection.Open()
    4. End If
    5. End Sub
    6. Public Function login(ByVal username As String, ByVal password As String) As Boolean
    7. Dim openThread As New Thread(New ThreadStart(AddressOf open))
    8. openThread.Start()
    9. If (connection.State = ConnectionState.Closed) Then
    10. openThread.Join()
    11. End If
    12. ' MySql querys können danach schnell ausgeführt werden!
    13. End Sub


    Das ganze funktioniert mit neuem Thread und der join Methode mehr als doppelt so schnell !
    Wer auch so ein Problem hat kann diese Methode ja mal versuchen !
    [ERLEDIGT]

    lg,
    VB K1ng