Also..
Aufgrund mehrerer Anfragen (In Foren & via ICQ) habe ich mir gedacht einfach mal ein kleines Tutorial zum Thema “Abfrage einer MySQL Datenbank” zu schreiben welches hier zu finden ist.
Fangen wir an..
Wir brauchen:
- Visual Basic 2008 (Express oder sonstige)
- Eine MySQL Datenbank (Externe Zugriffe müssen gestattet sein)
- MySQL Connector für .Net (DOWNLOAD)
- 10 Minuten Zeit
In die eben erstelle Form1 packen wir nun folgendes rein:
- 2x Buttons
- 2x Textboxen (txt_name & txt_nachname)
- 2x Label (Zum Beschriften der Textboxen)
- 1x Verweis auf MySql.Data.dll & MySql.Web.dll
Fangen wir an mit dem Code für Button1 (Get):
VB.NET-Quellcode
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Dim conn As MySqlConnection
- conn = New MySqlConnection
- conn.ConnectionString = "server=SERVERNAME/HOST;" & "user id=USERNAME;" & "password=PASSWORT;" & "database=DBNAME"
- Dim name As String = (txt_name.Text)
- Dim nachname As String = (txt_nachname.Text)
- Dim myAdapter As New MySqlDataAdapter
- Dim SQLAbfrage As String = "SELECT * FROM benutzer WHERE Name='" + Replace(name, " ", "") + "' AND Nachname='" & Replace(nachname, " ", "") & "'"
- Dim myCommand As New MySqlCommand
- myCommand.Connection = conn
- myCommand.CommandText = SQLAbfrage
- txt_name.Text = SQLAbfrage("SELECT * FROM benutzer WHERE Name")
- txt_nachname.Text = SQLAbfrage("SELECT * FROM benutzer WHERE Nachname")
- myAdapter.SelectCommand = myCommand
- Dim myData As MySqlDataReader
- myData = myCommand.ExecuteReader()
- If myData.HasRows Then
- conn.Close()
- conn.Open()
- Else
- 'Nichts
- End If
- End Sub
Mit dem oberen Code holen wir die Daten aus der Datenbank in die Textboxen.
Kommen wir nun zu Button2 (Post):
VB.NET-Quellcode
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Dim conn As MySqlConnection
- conn = New MySqlConnection
- conn.ConnectionString = "server=SERVERNAME/HOST;" & "user id=USERNAME;" & "password=PASSWORT;" & "database=DBNAME"
- Try
- conn.Open()
- Catch myerror As MySqlException
- 'Nichts
- End Try
- Dim myAdapter As New MySqlDataAdapter
- Dim SQLAbfrage As String = "SELECT * FROM benutzer WHERE Name='" + txt_name.Text + "'"
- Dim myCommand As New MySqlCommand
- myCommand.Connection = conn
- myCommand.CommandText = SQLAbfrage
- myAdapter.SelectCommand = myCommand
- Dim myData As MySqlDataReader
- myData = myCommand.ExecuteReader()
- If myData.HasRows = 0 Then
- conn.Close()
- conn.Open()
- Dim registerfinal As New MySqlDataAdapter
- Dim name As String = (txt_name.Text)
- Dim nachname As String = (txt_nachname.Text)
- myCommand.CommandText = "INSERT INTO benutzer(Name, Nachname)" _
- & "VALUES('" & name & "','" & nachname & "')"
- myCommand.ExecuteNonQuery()
- conn.Close()
- Else
- 'Nichts
- End If
- End Sub
Das ganze müsste jetzt in der Form so aussehen:
Nun brauchen wir natürlich noch um überhaupt Daten lesen oder schreiben zu können die Tabelle in der Datenbank.
Diese Tabelle nennt sich “benutzer” (ohne ” “).
Um diese Tabelle zu erstellen gehen wir einfach (falls vorhanden) in PhpMyAdmin und geben folgenden Code in den Reiter SQL ein:
Ich hoffe ich konnte mit diesem Tutorial weiterhelfen
Das Beispielprojekt kann HIER herruntergeladen werden.
NACHTRAG: md5
Um die Datensätze verschlüsselt abzuspeichern, einfach nur folgenden Code in ein Modul namens "md5" schreiben:
VB.NET-Quellcode
- Imports System.Security.Cryptography
- Imports System.Text
- Module md5
- Public Function MD5StringHash(ByVal strString As String) As String
- Dim MD5 As New MD5CryptoServiceProvider
- Dim Data As Byte()
- Dim Result As Byte()
- Dim Res As String = ""
- Dim Tmp As String = ""
- Data = Encoding.ASCII.GetBytes(strString)
- Result = MD5.ComputeHash(Data)
- For i As Integer = 0 To Result.Length - 1
- Tmp = Hex(Result(i))
- If Len(Tmp) = 1 Then Tmp = "0" & Tmp
- Res += Tmp
- Next
- Return Res
- End Function
- End Module
Dann diesen Code einfach einbinden:
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „r3mote“ ()