formulaire de connexion à l'aide de ms access en vb.net
Je suis de la création d'un formulaire de connexion pour vb.net à l'aide de ms access 2003 en tant que base de données. Mais il ne vérifie le nom d'utilisateur et contourne le mot de passe. Ce qui signifie que si le nom d'utilisateur et le mot de passe n'est pas jive avec le nom d'utilisateur, l'utilisateur peut entrer dans le système. Voici mon code:
Try
Dim NoAcc As String
Dim NoAccmod2 As String
Dim NoPas As String
Dim cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\db1.mdb;Jet OLEDB:Database Password=nrew123$%^;")
Dim cmd As OleDbCommand = New OleDbCommand("Select * from admintable where AdminName= '" & TextBox4.Text & "' ", cn)
cn.Open()
rdr = cmd.ExecuteReader
If rdr.HasRows Then
rdr.Read()
NoAcc = rdr("AdminName")
NoPas = rdr("AdminPass")
If (TextBox4.Text = NoAcc And TextBox3.Text = NoPas) Then NoAccmod2 = NoAcc
adminview.Show()
Me.Hide()
Else
MsgBox("Incorrect Username/Password")
TextBox4.Clear()
TextBox3.Clear()
End If
Catch
MsgBox("Error logging in, please try again", MsgBoxStyle.Exclamation)
End Try
Comment puis-je faire pour qu'il vérifie le nom d'utilisateur et mot de passe?
- Euh, si quelqu'un met en "" Ou "" = '" en tant que leur nom d'utilisateur? Qui est, vous devriez vraiment être à l'aide d'un paramètre pour cela.
Vous devez vous connecter pour publier un commentaire.
Vous utilisez une seule ligne SI .. ALORS :
If (TextBox4.Text = NoAcc And TextBox3.Text = NoPas) Then NoAccmod2 = NoAcc
donc, la prochaine ligne sera toujours exécutée:
adminview.Show()
vous devez réorganiser votre SI .. ALORS les conditions
Je vais le partager sur le système de connexion dans vb.net à l'aide de la liaison navigateur que moins de codage. en suivant le lien ci-dessous!
http://www.tesear.com/2011/09/login-system-in-vbnet.html
Vous pourriez avoir à la FOIS la commande uname et pword dans la base de données et "OÙ" à la fois, si vous n'obtenez pas de record en arrière, alors vous avez votre réponse.
Essayez d'utiliser
System.String.Compare(String str1,String str2, Boolean ) As Integer
comme:voici le code:
Essayer