[Frage]Textbox Checkbox Save mit Login->Mysql

  • VB.NET

    [Frage]Textbox Checkbox Save mit Login->Mysql

    Guten Tag liebe VB Paradiser.

    Seit Tagen geister ich schon als Gast im Forum rum und find das ding klasse :)

    Hab neu mit VB.Net angefangen und habe ein Problem bei dem ich nicht weiß wie ich es realisieren kann.
    Also dachte ich mir ich frage einfach mal und gucke ob mir ein paar schlaue VB Hasen da helfen können

    Ich habe ein Projekt beidem es Hauptzächlich um Textboxen und Checkboxen speicherung geht. Die Boxen sollten beim Laden->Geladen und beim Schließen der Form auch geschlossen werden.
    Das klappt alles wunderbar. Nun möchte ich aber das diese Daten staat lokal in einer ini , auf einem Mysql zu einem Account gespeichert werden.
    Mein Projekt umfasst 10 Textboxen und 10 Checkboxen.

    Das Login System habe ich hier im Forum gefunden und es nur abgeändert. Ich weiß auch das die sicherheit dieses Login Systems nicht gerade gut ist da ja ein normales .Net Programm leicht zu decompelieren ist. Dies wird sich dann im Laufe des Projektes ändern

    Könnte mir jemand möglichst leicht zeigen wie ich die Check-, Textboxen auf jedem Account seperat lege?

    LoginForm:

    VB.NET-Quellcode

    1. Imports MySql.Data.MySqlClient
    2. Public Class Login
    3. Private Sub loginbutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles loginbutton.Click
    4. Dim conn As MySqlConnection
    5. conn = New MySqlConnection
    6. conn.ConnectionString = "server=127.0.0.1;" & "user id=root;" & "password=;" & "database=key;"
    7. Try
    8. conn.Open() ' Verbindung öffnen
    9. Catch myerror As MySqlException
    10. MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString) ' Falls Fehler : Fehler anzeigen
    11. End Try
    12. Dim benutzer As String = MD5StringHash(loginbox.Text)
    13. Dim passwort As String = MD5StringHash(passwortbox.Text)
    14. Dim myAdapter As New MySqlDataAdapter
    15. Dim SQLAbfrage As String = "SELECT * FROM benutzer WHERE Benutzername='" + Replace(benutzer, " ", "") + "' AND Passwort='" & Replace(passwort, " ", "") & "'" ' Das ist die Abfrage welche Prüft ob der Account existiert.Die txt_benutzer ist die Textbox in der der Benutzername eingeben wird und txt_passwort bekommt das Passwort
    16. Dim myCommand As New MySqlCommand
    17. myCommand.Connection = conn
    18. myCommand.CommandText = SQLAbfrage
    19. myAdapter.SelectCommand = myCommand
    20. Dim myData As MySqlDataReader
    21. myData = myCommand.ExecuteReader() ' Hier startet man die SQL Abfrage
    22. If myData.HasRows Then ' Wenn die Abfrage Einträge enthält / also der Benutzer und das Passwort stimmen überein
    23. MsgBox("Einloggen erfolgreich !")
    24. conn.Close()
    25. conn.Open()
    26. Form1.Show()
    27. Me.Hide()
    28. Else 'Sonst wird angezeigt das die Daten falsch sind
    29. MsgBox("Fehler Code 2 : Falsche Daten")
    30. End If
    31. End Sub
    32. Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
    33. Regestrieren.Show()
    34. End Sub
    35. End Class


    RegForm:

    VB.NET-Quellcode

    1. Imports MySql.Data.MySqlClient
    2. Public Class Regestrieren
    3. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles regbutton.Click
    4. If pw.Text = pw_w.Text Then ' Prüft ob die Passwörter übereinstimmen
    5. If email.Text.Contains("@") And email_w.Text.Contains("@") Then ' Prüft ob die E-Mails ein @ enthalten.Damit wird geschaut ob die Email gültig ist
    6. If email.Text = email_w.Text Then ' Wennn die Emails übereinstimmen dann Trage ein
    7. Dim conn As MySqlConnection
    8. conn = New MySqlConnection
    9. conn.ConnectionString = "server=127.0.0.1;" & "user id=root;" & "password=;" & "database=key;"
    10. Try
    11. conn.Open() ' Verbindung öffnen
    12. Catch myerror As MySqlException
    13. MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
    14. End Try
    15. Dim myAdapter As New MySqlDataAdapter
    16. Dim SQLAbfrage As String = "SELECT * FROM benutzer WHERE Benutzername='" + Login.Text + "'" ' Erstmal eine SQL Abfrage die überprüft ob es den Benutzernamen schon gibt
    17. Dim myCommand As New MySqlCommand
    18. myCommand.Connection = conn
    19. myCommand.CommandText = SQLAbfrage
    20. myAdapter.SelectCommand = myCommand
    21. Dim myData As MySqlDataReader
    22. myData = myCommand.ExecuteReader() ' Abfrage starten
    23. If myData.HasRows = 0 Then ' Wenn dieser Benutzername nicht existiert dann fang mit der Registrierung an
    24. conn.Close()
    25. conn.Open()
    26. Dim registerfinal As New MySqlDataAdapter
    27. Dim benutzer As String = MD5StringHash(Login.Text)
    28. Dim passwort As String = MD5StringHash(pw.Text)
    29. myCommand.CommandText = "INSERT INTO benutzer(Benutzername, Passwort, Email)" _
    30. & "VALUES('" & benutzer & "','" & passwort & "','" & email.Text & "')"
    31. myCommand.ExecuteNonQuery() ' SQL Abfrage starten und eintragen
    32. MsgBox("Der Account mit dem Namen : " & Login.Text & " wurde erfolgreich erstellt")
    33. conn.Close()
    34. Login.Show()
    35. Me.Hide()
    36. Else
    37. MsgBox("Dieser Benutzername existiert bereits")
    38. End If
    39. Else
    40. MsgBox("Die eingegebenen Emails stimmen nicht über ein !")
    41. End If
    42. Else
    43. MsgBox("Die eingegebenen E-Mails sind ungültig !")
    44. End If
    45. Else
    46. MsgBox("Die eingegebenen Passwörter stimmen nicht überein")
    47. End If
    48. End Sub
    49. End Class


    Das ganze ist im moment noch ziemlich C&P aber wird sich alles ändern wenn ich komplett dahinter gekommen bin :)
    (Das verrutschen der Zeilen in natürlich im richtigen Script nicht)