[VB] MySQL - Fehlermeldung[/VB]

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    [VB] MySQL - Fehlermeldung[/VB]

    Guten Abend liebe Community,

    Und wieder habe ich ein kleiner Fehler diesmal ist es einen MySQL Fehler.

    VB.NET-Quellcode

    1. Imports MySql.Data.MySqlClient
    2. Public Class Administration
    3. Dim MySQL As MySqlConnection
    4. Dim Adapter As New MySqlDataAdapter
    5. Dim SQL As String
    6. Dim Command As New MySqlCommand
    7. Dim Data As MySqlDataReader
    8. Public Function OPEN() As Boolean
    9. Try
    10. MySQL = New MySqlConnection
    11. MySQL.ConnectionString = "server=web1.php-friends.de; user id=HoPatri_ext;password=***;database=HoPatrisql11"
    12. MySQL.Open()
    13. Return True
    14. Catch ex As Exception
    15. Return False
    16. End Try
    17. End Function
    18. Private Sub Administration_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    19. OPEN()
    20. If OPEN() = True Then
    21. SQL = "SELECT * FROM puser"
    22. Command.Connection = MySQL
    23. Command.CommandText = SQL
    24. Adapter.SelectCommand = Command
    25. Data = Command.ExecuteReader
    26. If Data.HasRows Then
    27. listbox_view.Items.Add(Data("username").ToString)
    28. End If
    29. Data.Close()
    30. MySQL.Close()
    31. Else
    32. MsgBox("Fehler")
    33. End If
    34. End Sub
    35. Private Sub button_save_Click(sender As Object, e As EventArgs) Handles button_save.Click
    36. Try
    37. Catch ex As Exception
    38. End Try
    39. SQL = "UPDATE puser SET name' " & text_username.Text & "', email='" & text_mail.Text & "',keycode='" & text_key.Text & "'"
    40. Command.Connection = MySQL
    41. Command.CommandText = SQL
    42. Adapter.SelectCommand = Command
    43. Data = Command.ExecuteReader
    44. End Sub
    45. Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles text_mail.TextChanged
    46. End Sub
    47. Private Sub button_select_Click(sender As Object, e As EventArgs) Handles button_select.Click
    48. Try
    49. SQL = "SELECT * FROM puser WHERE username'" & listbox_view.Text & "'"
    50. Command.Connection = MySQL
    51. Command.CommandText = SQL
    52. Adapter.SelectCommand = Command
    53. Data = Command.ExecuteReader
    54. If Data.HasRows Then
    55. text_username.Text = Data("username").ToString
    56. text_mail.Text = Data("email").ToString
    57. text_key.Text = Data("key").ToString
    58. End If
    59. Catch ex As Exception
    60. End Try
    61. End Sub
    62. Private Sub Label3_Click(sender As Object, e As EventArgs) Handles Label3.Click
    63. End Sub
    64. End Class


    Sobald ich den Code ausführe, kommt folgende Fehlermeldung:

    Bei folgendem Code:

    VB.NET-Quellcode

    1. If Data.HasRows Then
    2. listbox_view.Items.Add(Data("username").ToString)
    3. End If


    Ich hoffe, mir kann jemand weiter helfen.

    MFG

    ErfinderDesRades schrieb:

    vlt. muss man Data.Read() aufrufen.

    Übrigens rufst du OPEN() zweimal auf.

    Und dann würde ich noch DataAdapter empfehlen, weil mit so DataReadern und Commands und Kram kann man bei mehr als 3 Tabellen eiglich nicht mehr den Überblick behalten.


    Vielen Dank. Werde gleich schauen ob es daran liegen könnte.

    Thunderbolt schrieb:

    Und auf jeden Fall DbParameter

    Denn mein Name lautet zufälligerweise Thunderbolt';DROP DATABASE HoPatrisql11;--.


    Wo möchtest du genau hinaus? Sorry. Verstehe den Satz nicht so ganz.
    Thunderbolt wollte damit sagen, dass Dein Script nicht sicher gegen SQL-Injections ist und mit einem Command, dass ich anhänge, Deine Datenbank einfach futsch ist.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: