Heute möchte ich ein kleines Tutorial beginnen, das sich mit einem kleinen Online Chat beschäftigt, der eine Verbindung zu einer MySQL Datenbank hat.
Vorher müssen wir uns überlegen, was unser Chat denn alles brauch und was er können sollte. Bevor wir uns mit dem Design und den Programm Code beschäftigen, müssen wir uns noch folgendes runterladen und installieren Connector/Net, damit wir später auch eine Verbindung erstellen können.
Jetzt überlegen wir uns, welche Funktionen wir einbauen wollen. Als erstes bräuchten wir ein Formular für die Anmeldung, dann das eigentliche Chat-Fenster, dann sollte es noch Einstellungsmöglichkeiten geben und eine Chat-History und das wichtigste ist eine Datenbank, denn sonst funktioniert es später nicht. Aber heute geht es erst einmal nur um das Formular.
Wir öffnen unser Visual Studio, wer es noch nicht hat, der kann sich die Express Version kostenlos auf der Microsoft Seite herunterladen.
Das Projekt nennen wir jetzt der Einfachheit halber Online Chat.
So müsste die nackte Oberfläche der erstellten Form aussehen.
Für unser Formular brauchen wir jetzt zwei Label, zwei TextBoxen und noch zwei Buttons, die wir dann in der Form anordnen.
Label1 habe ich Benutzer genannt und Label2 Passwort. Die beiden TextBoxen werden rechts von den Labels platziert. In der zweiten TextBox, die neben dem Passwort steh, wollen wir nun noch eine Eigenschaft ändern, damit, wenn wir später das Passwort eingeben, niemand mitlesen kann. Also die TextBox2 anklicken und unter Eigenschaften PasswordChar ein Zeichen eingeben, das an Stelle des Passwortes erscheinen soll. Gebräuchlich sind hier Sternchen *.
Dann werden noch zwei Buttons eingefügt, zum Absenden und zum Abbrechen. Die Beschriftung können immer direkt bei den Eigenschaften unter Text geändert werden.
Und schon ist auch schon das Design fertig. Natürlich wird man damit keinen Schönheitswettbewerb gewinnen, aber zunächst soll es erst einmal nur seinen Zweck erfüllen.
Jetzt kann es auch schon zum Programm Code gehen. Aber bevor wir es vergessen, klicken wir auf Projekt -> Verweis hinzufügen … -> Durchsuchen. Nun müssen wir die Mysql.Data.dll suchen, die liegt in dem Ordner, den wir zu Anfang installieren sollten.
Wenn wir das getan haben, machen wir einen Doppelklick auf den Absenden Button und bekommen unsern Code zu sehen.
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click
End Sub
End Class
Als erstes importieren wir Mysql.Data.MysqlClient in unser Projekt, dafür müssen wir nur an den Anfang die kleine Zeile:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click
End Sub
End Class
Jetzt kommt der ganze Code für das Formular, mit anschließender Erklärung zu den einzelnen Programmzeilen.
Public Class loginForm
Dim mysqlConnection As MySqlConnection
Private Function Verbindung()
mysqlConnection = New MySqlConnection
mysqlConnection.ConnectionString = _ “server=Server;port=3306;user id=Benutzer; password=Passwort;database=Datenbankname”
mysqlConnection.Open()
Return 0
End Function
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click
Try
Verbindung()
Dim Mysqladapter As New MySqlDataAdapter
Dim sql = “Select * from user_db where user_name=’” _ & TextBox1.Text & “‘ And user_passwort=’” & TextBox2.Text & “‘;”
Dim command As New MySqlCommand
command.Connection = mysqlConnection
command.CommandText = sql
Mysqladapter.SelectCommand = command
Dim meineDaten As MySqlDataReader
meineDaten = command.ExecuteReader
If meineDaten.HasRows = 0 Then
MsgBox(“Die Anmeldedaten sind nicht korrekt”)
Else
chatFenster.Show()
Me.Close()
End If
mysqlConnection.Close()
Catch ex As Exception
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class
Wie oben schon erwähnt, importieren wir zuerst Mysql.Data.MysqlClient.
Die Klasse habe ich um genannt in loginForm. In dieser Klasse deklarieren wir zuerst mit Dim die MysqlConnection. Dann erstellen wir eine Funktion, die später dann eine Verbindung zu unserer Datenbank öffnen soll, damit wir mit ihr arbeiten können. In einem String werden alle Daten gespeichert, die wir für die Verbindung mit der Datenbank brauchen, Server, Username, Passwort und Datenbankname.
Jetzt kommt der eigentliche Hauptteil, der ausgeführt wird, wenn wir den Absende Button in unserem Formular drücken. Das beginnen wir mit Try, um eventuelle Fehlermeldungen abzufangen. Try bedeutet so viel wie versuchen. Wir rufen in diesem Try zuerst die Funktion Verbindung auf und erstellen einen neuen MySqlDataAdapter und unsere SQL Query, die in der Datenbank nach unseren Benutzeraccount suchen soll. Die Struktur der Datenbank werde ich im nächsten Artikel zeigen. Also die SELECT Anweisung erst einmal so hinnehmen.
Nun erstellen wir eine neue Prozedur, die MySqlCommand. Der weisen wir unsere Verbindung und unseren Query String zu und lesen sie mit dem MySqlDataReader aus.
Wir erstellen nun eine IF Anweisung, um zu prüfen, ob es einen passenden Datensatz in unserer Datenbank zu finden ist. Ist dies nicht der Fall, wird eine MessageBox aufgepoppt, mit dem Inhalt: “Die Anmeldedaten sind nicht korrekt.”
Sollten sie einen Datensatz gefunden haben, geht es mit der ELSE Anweisung weiter, in der wir das eigentliche Chat Fenster starten. Und anschließend wird unser Login Fenster geschlossen.
Danach schließen wir die Datenbankverbindung wieder, beenden den Try und die Sub.
Da wir zwei Buttons haben, gehen wir noch einmal zurück zum Design und klicken doppelt auf abbrechen und der entsprechende Code wird eingefügt.
Indem schreiben wir nur die Anweisung, wenn jemand auf Abbrechen klickt, dann soll sich das Login Formular schließen.
Ich denke, das war für das Formular zunächst alles, hoffentlich habe ich nichts wesentliches vergessen, aber ich denke nicht. Bald geht es weiter mit dem zweiten Teil der Serie und erstellen dort die MySql Datenbank.