MySQL Datenbank verbinden

  • VB.NET

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

    MySQL Datenbank verbinden

    Hallo VB-Paradise User,
    ich möchte eine Verbindung zur einer Datenbank von bplaced herstellen wo er die Daten abgleicht also mit dem Benutzername und dem Passwort wen das richtig ist dann wird Form1 sichtbar.
    Nur kommt halt eine Fehlermeldung bei myData = myCommand.ExecuteReader
    Ich hoffe ihr könnt mir helfen danke im voraus
    Gruß MarvinMario



    VB.NET-Quellcode

    1. Imports MySql.Data.MySqlClient
    2. Imports System.Data
    3. Public Class Login
    4. Dim Mysqlconnection As MySqlConnection
    5. Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
    6. Dim conn As MySqlConnection
    7. conn = New MySqlConnection
    8. conn.ConnectionString = "server= localhost; user id= hacksandblabla; password= blablabla; database= hacksandblaba"
    9. Try
    10. conn.Open()
    11. Catch ex As Exception
    12. MsgBox("Konnte")
    13. End Try
    14. Dim myAdapter As New MySqlDataAdapter
    15. Dim sqlquery = "Select * FROM Test Where Name='" & UsernameTextBox.Text & "'and Password='" & PasswordTextBox.Text & "'"
    16. Dim myCommand As New MySqlCommand
    17. myCommand.Connection = conn
    18. myCommand.CommandText = sqlquery
    19. myAdapter.SelectCommand = myCommand
    20. Dim myData As MySqlDataReader
    21. myData = myCommand.ExecuteReader
    22. If myData.HasRows = 0 Then
    23. MsgBox("Falsch")
    24. Else
    25. Dim Form1 = New Form1
    26. Form1.Show()
    27. Me.Visible = False
    28. End If
    29. End Sub
    30. Private Sub Cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Cancel.Click
    31. Me.Close()
    32. End Sub
    33. Private Sub Login_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    34. End Sub
    35. End Class



    Edit by Dodo:
    1. Falsches Unterforum, 2. die Farbe rot ist den Admins & Mods vorbehalten
    -> Topic verschoben (Hauptforum => Datenbankprogrammierung)
    -> Farbe rot entfernt

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

    VB.NET-Quellcode

    1. "server= localhost;


    Localhost is dein eigener Rechner das weißt du ja? Und zudem glaube ich nicht das bplaced externe DB Verbindungen erlaubt, das tun nämlich die wenigsten Server weils eine große Sicherheitslücke is.

    Ansonsten ist es auch dezent hilfreich nicht nur zu sagen das eine Fehlermeldung kommt sondern auch welche, es gibt nämlich etliche Fehlermeldungen und das wir Raten is sicherlicht nicht so effizient wie wenn uns mitteilst was die Fehlermeldung besagt. Daraus kann man dann nämlich herleiten wo das Problem liegen könnte, das ja auch u.a. der Sinn von Fehlermeldungen, do you know!

    VB.NET-Quellcode

    1. Imports System.Data.SqlClient


    Dann

    Über form load event in keinem Event!

    VB.NET-Quellcode

    1. Dim con = New SqlConnection
    2. Dim cmd As New SqlCommand


    Dann

    In Formload event

    VB.NET-Quellcode

    1. con.ConnectionString = My.Settings.connection ' In My.Settings neuen String erstellen name: connection und dort den COnnectionstring angeben
    2. If con.State = Data.ConnectionState.Open Then
    3. ElseIf con.State = Data.ConnectionState.Closed Then
    4. con.open()
    5. cmd.Connection = CType(con, SqlConnection)
    6. Else
    7. MsgBox("Verbindung zur Datenbank fehlgeschlagen!")
    8. End If

    Dann ist die verbindung auf con hergestellt :)

    Mit dem cmd können commands ausgeführt werden und daten mit einem cmd.reader gelesen werden

    Beispiel zum Auslesen von Daten ( Select )

    VB.NET-Quellcode

    1. cmd.CommandText = "SELECT " & Spalte & " as meinergebnis FROM " & Tabelle & " WHERE " & WoSpalte & " = '" & SpalteIst_string & "'"
    2. Dim myreader = cmd.ExecuteReader
    3. Dim ergebnis As String = "Kein Ergebnis"
    4. While myreader.Read
    5. ergebnis = CStr(myreader("meinergebnis"))
    6. End While
    7. myreader.Close()
    8. msgbox(ergebnis.ToString)

    ( Die Abfrage kannst du ändern wichtig ist das alles was du haben will mit "as name" definiert wird damit der reader diesen namen lesen kann. )

    Adapter ist vollkommen unnötig


    Für dich um einfacher Befehle auszuführen:

    VB.NET-Quellcode

    1. Public Function SQLExexcute(ByVal querry As String) As Boolean
    2. cmd.CommandText = querry
    3. Return CBool(cmd.ExecuteNonQuery())
    4. End Function


    einfach SQLExecute("DEIN QUERRY ASL STRING") und wenn du es auswerten lässt z.b. in einer Textbox erhältst du ob der Befehl erfolgreich ( true) order fehlgeschlagen ist ( false )

    Wie man einen COnnection string baut:
    connectionstrings.com/mysql

    Für andere Datenbänke:
    connectionstrings.com/

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Schlammy“ ()