WebChat in VisualBasic & MySQL. Problem mit auslesen der Datenbank.

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Thomas_evil.

    WebChat in VisualBasic & MySQL. Problem mit auslesen der Datenbank.

    Hallo,
    Wir versuchen einen Chat zu Programieren, der aus einer Mysql Datenbank seine Einträge erhält.

    Im Moment ist unser Problem, dass er zwar alle Nachrichten abruft aber wenn er erstmal alle hat ruft er keine Neuerungen mehr ab.
    Das Problem könnte man lösen, indem man die Verbindung zu der Datenbank neu aufbaut, aber das würden wir gerne vermeiden.


    Wir sind für jegliche Verbesserungsvorschläge dankbar.

    VB.NET-Quellcode

    1. Dim MySqlConnection As MySqlConnection

    VB.NET-Quellcode

    1. Public Sub Updater()
    2. Dim Myadapter As New MySqlDataAdapter
    3. 'heraussuchen der Datenbank Tabelle und überprüfen deiner Daten
    4. Try
    5. Dim sqlquery = "SELECT Uhrzeit, User, Nachricht FROM Chat WHERE ID='" + Label2.Text + "';"
    6. Dim command As New MySqlCommand
    7. command.Connection = MySqlConnection
    8. command.CommandText = sqlquery
    9. Myadapter.SelectCommand = command
    10. Dim mydata As MySqlDataReader
    11. mydata = command.ExecuteReader
    12. 'überprüfen, ob deine Eingaben richtig waren
    13. If mydata.HasRows = 0 Then
    14. Else
    15. Label2.Text = CStr(CInt(Label2.Text) + 1)
    16. mydata.Read()
    17. TextBox_chat.Text = TextBox_chat.Text + vbNewLine + "<" + mydata.Item("Uhrzeit") + ">" + " ''" + mydata.Item("User") + "'': " + mydata.Item("Nachricht")
    18. mydata.Close()
    19. End If
    20. Catch ex As Exception
    21. End Try
    22. TextBox_chat.SelectionStart = TextBox_chat.Text.Length
    23. TextBox_chat.ScrollToCaret()
    24. End Sub

    Der Updater wird über einen Timer gestartet. (Der Intervall ist auf 50ms gesetzt, da es sonst stunden dauern würde, wenn erstmal round about 500 Nachrichten zum abrufen währen)

    Die Connection zu der Mysql Datenbank wird in dem Form_Load Ereignis geöffnet.

    VB.NET-Quellcode

    1. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    2. 'Neue MySQL Connection
    3. MySqlConnection = New MySqlConnection
    4. 'ergänze deine Daten (der standart-Port ist 3306
    5. '
    6. MySqlConnection.ConnectionString = "Server=*****;Database=Chat;Uid=evilChat;Pwd=*****;"
    7. MySqlConnection.Open()
    8. End Sub


    Freundliche Grüße



    Thomas_evil und und Konsorten.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Thomas_evil“ ()

    Achja, es ist in diesem Fall zwar nicht programm relevant, aber eventuell wichtig für die Zukunft, "Query" wird so geschrieben und nicht mit "a" wie in deiner Version ;)
    mfg
    "yippieh! it compiles - ship it!"