MySQL problem Unknown Database

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von Dragon112.

    MySQL problem Unknown Database

    Hallo zusammen,

    ich versuche aktuell einen Zugriff von Visual Basic 2010 auf eine MySQL Datenbank,
    allerdings erscheint immer eine fehler meldung "Unknown Database ´pers_login´.
    Benenne ich aber die Tabelle, sowie im script in "test" um,
    dann kann das Programm plötzlich eine Verbindung aufbauen.

    Meine Code:

    Quellcode

    1. Dim conn As New MySqlConnection
    2. Dim myConnectionString As String
    3. myConnectionString = "server=Url.de;uid=benutzername;pwd=meinpasswort;database=pers_login;"
    4. conn.ConnectionString = myConnectionString
    5. Try
    6. conn.Open()
    7. Catch ex As Exception
    8. MessageBox.Show(ex.Message)
    9. End Try
    10. conn.Close()



    Wie kann ich jetzt eine Verbindung mit einen beliebigen namen aufbauen?

    MFG

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Bassdriver“ ()

    i-wie finde ich nichts was mir wirklich weiterhilft...

    also ich möchte einen Login erstellen der per MySQL DB abgerufen wird ...
    Bsp. Benutzername: Bassdriver , Passwort: 123

    Ich hatte mir gedacht das die MySQL DB den Benutzernamen Bassdriver heraussucht und das Passwort in ein Label herreinschreibt.
    Anschließend werden das eingegebene Passwort mit dem Passwort aus der MySQL DB verglichen.

    So siehts aktuell bei mir aus:

    Quellcode

    1. Dim conn As New MySqlConnection
    2. Dim da As MySqlDataAdapter
    3. Dim ds As New DataSet
    4. Dim dt As New DataTable
    5. Dim bs As BindingSource
    6. Dim myConnectionString As String
    7. myConnectionString = "server=URL.de;uid=USER;pwd=PASSWORT;database=DATENBANK;"
    8. conn.ConnectionString = myConnectionString
    9. Try
    10. conn.Open()
    11. Catch ex As Exception
    12. MessageBox.Show(ex.Message)
    13. conn.Open()
    14. cmd.CommandText = "select * from pers_login"
    15. reader = cmd.ExecuteReader()
    16. lblpwcheck.Items.Clear()
    17. pnummer.Clear()
    18. Do While reader.Read()
    19. lstTab.Items.Add(reader("passwort")
    20. Loop
    21. reader.Close()
    22. End Try
    23. conn.Close()
    24. If lblpwcheck.Text = TextBox2.Text Then
    25. hmenu.Visible = True
    26. Me.Visible = False
    27. Else
    28. MsgBox("Entweder wurden die Logindaten falsch eingegeben, oder der Server ist nicht erreichbar. Falls dies erneut erscheinen sollte, dann wenden Sie sich an den Administrator!", MsgBoxStyle.Information)
    29. End If


    Kann mir jmd. helfen bzw. erklären wie es funktionieren soll?

    MFG

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

    du kannst ja gleich abfragen ob ein User mit dem passendem Password vorhanden ist

    VB.NET-Quellcode

    1. '...
    2. cmd.CommandText = "select count(*) from pers_login where Benutzer = '" & txt_benutzer.text & "' and Password = '" & txt_passwort.text & "'"
    3. if cmd.execudescale > 0 then 'cmd.execudescale ist wahrscheinlich falsch geschrieben
    4. messagebox("Login ok")
    5. else
    6. messagebox("Login falsch")
    7. end if
    8. '...
    1. Geh mit dem Mauszeiger an den Linken Rand des Codes (Auf höhe der Stelle die z.B. Probleme Macht! Der Rand setzt sich Fablich etwas ab! ist aber auch noch im Codefenster!) dann klicke einfach mit der Maus dort es sollte ein Punkt erscheinen!
    2 Dann führst du dein Programm aus (Debuggen) je nach dem wo der Haltepunkt gesetzt ist stopt das Programm. Du musst also in deinem Programm welches du geschrieben hast, alles Ausführen so das du an die stelle kommst wo du den Haltepunkt gesetzt hast.

    Beispiel du hast einen Button1 << Öffnet Form2
    Form2 hat einen Button1 u. Button2 der haltepunkt ist an einer Codestelle
    die unter Form2, Button2 liegt!

    Also gehst du hin drückst Button1 damit sich form2 öffnet und klickst dort Button2 damit der code ausgeführt wird wo dein Haltepunkt ist!

    Hoffe das wahr verständlich erklärt!


    MFG
    Wej
    hi,

    erstmal vielen dank für die antworten,

    allerdings kann ich dort kein fehler finden.

    VB.NET-Quellcode

    1. Imports MySql
    2. Imports MySql.Data
    3. Imports MySql.Data.MySqlClient
    4. Public Class Login
    5. Private Property reader As Object
    6. Private Sub ToolStripStatusLabel1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripStatusLabel1.Click
    7. End Sub
    8. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    9. Timer1.Start()
    10. lbluhr.Text = My.Computer.Clock.LocalTime
    11. End Sub
    12. Private Sub Login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    13. Timer1.Start()
    14. lbluhr.Text = My.Computer.Clock.LocalTime
    15. End Sub
    16. Private Sub cmdlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdlogin.Click
    17. Dim conn As New MySqlConnection
    18. Dim ds As New DataSet
    19. Dim dt As New DataTable
    20. Dim myConnectionString As String
    21. myConnectionString = "server=meine url.de;uid=benutzername;pwd=pw;database=datenbank;"
    22. conn.ConnectionString = myConnectionString
    23. Try
    24. conn.Open()
    25. Catch ex As Exception
    26. MessageBox.Show(ex.Message)
    27. cmd.CommandText = "select count(*) from pers_login where benutzername = '" & txtbenutzer.Text & "' and passwort = '" & txtpw.Text & "'"
    28. If cmd.execudescale > 0 Then
    29. MsgBox("Login ok")
    30. hmenu.Visible = True
    31. Me.Visible = False
    32. Else
    33. MsgBox("Entweder wurden die Logindaten falsch eingegeben, oder der Server ist nicht erreichbar. Falls dies erneut erscheinen sollte, dann wenden Sie sich an den Administrator!", MsgBoxStyle.Information, "Error")
    34. End If
    35. End Try
    36. conn.Close()
    37. End Sub
    38. Private Sub cmdend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdend.Click
    39. Me.Close()
    40. End Sub
    41. Private Sub Login_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
    42. End Sub
    43. Private Sub txtbenutzer_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtpersonalnr.TextChanged
    44. hmenu.ToolStripStatusLabel1.Text = ("Login als: " & txtbenutzer.Text)
    45. adminmenu.ToolStripStatusLabel1.Text = ("Login als: " & txtbenutzer.Text)
    46. benprofil.ToolStripStatusLabel1.Text = ("Login als: " & txtbenutzer.Text)
    47. End Sub
    48. Private Sub ToolTip1_Popup(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PopupEventArgs)
    49. End Sub
    50. Private Function cmd() As Object
    51. Throw New NotImplementedException
    52. End Function
    53. Private Function MD5StringHash(ByVal p1 As Object) As String
    54. Throw New NotImplementedException
    55. End Function
    56. End Class


    Könnt Ihr einen fehler daraus finden?

    Mfg
    Du musst doch Unmengen an Fehlermeldungen bekommen.
    Fällt dir das nicht auf?
    Wo ist denn dein cmd definiert?

    Also so etwas fehlt total:

    Quellcode

    1. Dim cmd As New MySqlCommand
    2. cmd.ExecuteScalar()


    und als du cmd. eingetippt hattest, hätte eine Liste der möglichen Member erscheinen müssen.
    Und da war bestimmt nicht execudescale dabei, sondern eben ExecuteScalar.

    Wo hast du diesen Code überhaupt her?
    Ich sehe grade du hast diese Zeile von Chris213. Der hat aber ausdrücklich geschrieben, dass er die Zeile
    wahrscheinlich falsch geschrieben hatte.