| 

.NET C# Java Javascript Exception

0


Wie erstellt man eine Login-Überprüfungsroutine (Login-Form) und wie macht man das Kennwort abhängig von Groß-/Kleinschreibung ?

Hier sind die Schritte:

1) z.B. MS Datenbankdatei myDB.mdb enthält eine Anwendertabelle mit den Folgenden zwei Feldern:

Feldname        Daten-Art

Username       Text

Password        Text

2) Eine neue Windows Formanwendung erstellen, danach fügen Sie eine „Login Form“ Vorlage hinzu:

Project Menu → Windows Form addieren → „Login Form“ Vorlage wählen

3) Beispiel Code

Vorbedingungen: txtUsername TextBox, txtPassword TextBox, OK Knopf und Cancel Knopf auf Login Form. 

Imports System.Data.OleDb
Public Class LoginForm1
 ' OK button 
 Private Sub OK_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles OK.Click
 Dim con As New OleDbConnection("Provider=Microsoft.jet.oledb.4.0;data source=D:\myDB.mdb")
 Dim cmd As OleDbCommand = New OleDbCommand( _
 "SELECT * FROM Users WHERE Username = '" & _
 txtUsername.Text & "' AND [Password] = '" & txtPassword.Text & "' ", con)
 con.Open()
 Dim sdr As OleDbDataReader = cmd.ExecuteReader()
 
 If (sdr.Read() = True) Then
 MessageBox.Show("Der Benutzer ist gültig!")
 Dim mainForm As New MainForm
 mainForm.Show()
 Me.Hide()
 Else
 MessageBox.Show("Ungültiger Benutzername oder Kennwort!")
 End If
 End Sub
 ' Cancel button 
 Private Sub Cancel_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles Cancel.Click
 Me.Close()
 End Sub
End Class

Anmerkung: Das Kennwort in der TextBox ist nicht abhängig von Gross-/Kleinschreibung in dem oberen Beispiel Code.

Um das Kennwort abhängig von Gross-/Kleinschreibung zu machen, versuchen Sie diesen Workaround:

Erstens, das Kennwort aus der Datenbank nehmen und in DataReader Objekt setzen. Danach, außerhalb der T-SQL Anweisung, das Kennwort mit txtPassword.Text vergleichen.

Imports System.Data.OleDb
Public Class LoginForm1
 Private Sub OK_Click(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles OK.Click
 Dim con As OleDbConnection = New OleDbConnection( _
 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\myDB.mdb;")
 Dim cmd As OleDbCommand = New OleDbCommand( _
 "SELECT * FROM Users WHERE Username='" & _
 txtUsername.Text & "' and [Password]='" & txtPassword.Text & "'", con)
 con.Open()
 Dim sdr As OleDbDataReader = cmd.ExecuteReader()
 
 If sdr("Password") <> txtPassword.Text.ToString() Then
 MessageBox.Show("Ungültiges Kennwort!")
 End If
 sdr.Close()
 con.Close()
 End Sub
End Class

[Nach oben]

.net vb.net visual-basic.net
Weitere News:
Schreibe einen Kommentar:
Themen:
visual-basic.net vb.net .net
Entweder einloggen... ...oder ohne Wartezeit registrieren
Benutzername
Passwort
Passwort wiederholen
E-Mail
TOP TECHNOLOGIES CONSULTING GmbH