如果正确插入了用户名和密码,我已经创建了一个代码来显示正确的消息。用户的用户名和密码是从数据库表中提取的。但我总是得到用户名和密码不正确的消息。我不知道为什么。这是我的代码
Private Sub Button2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)处理btnLogIn.Click MySqlConn = New MySqlConnection
MySqlConn.ConnectionString = "server=localhost;userid=root;password=12345;database=environment"
Dim READER As MySqlDataReader
Try
MySqlConn.Open()
Dim Query As String
Query = "select * from environment.customers where customer_name='" & txtUser.Text & "'and customer_detail='" & txtPass.Text & " '"
COMMAND = New MySqlCommand(Query, MySqlConn)
READER = COMMAND.ExecuteReader
Dim count As Integer
count = 0
While READER.Read
count = count + 1
End While
If count = 1 Then
MessageBox.Show("username and password are correct")
ElseIf count > 1 Then
MessageBox.Show("username and password are duplicate")
Else
MessageBox.Show("username and password are incorrect")
End If
MySqlConn.Close()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
Finally
MySqlConn.Dispose()
End Try
End Sub
结束班
答案 0 :(得分:0)
在您的代码中尝试此操作。
#Region "Members"
Protected WithEvents lblMessage As System.Web.UI.WebControls.Label
#End Region
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click MySqlConn = New MySqlConnection
If Not IsPostBack Then
If Not IsNothing(txtUser.text) Then 'Replace this field with your own field name.
If Not IsNothing(txtPass.text) Then 'Replace this field with your own field name.
Login() 'If both login form is not empty, execute login function
Else
LabelMessage.Text("Please enter your password.") 'If password field is empty
LabelMessage.Visible = True
Exit Sub
EndIf
ElseIf IsNothing(txtUser.text) AND IsNothing(txtPass.text)Then
LabelMessage.Text("Please enter your username and password.") 'If both field are empty
LabelMessage.Visible = True
Exit Sub
Else
LabelMessage.Text("Please enter your username.") 'If username field are empty
LabelMessage.Visible = True
Exit Sub
EndIf
EndIf
End Sub
Private Sub Login()
Dim conn As New SqlConnection
Dim command As New SqlCommand
Dim Password As String
Dim Password2 As String
Dim Username As String
Try
conn.ConnectionString = "server=localhost;userid=root;password=12345;database=environment" 'Your SQL Database credentials
conn.Open() 'Open the connection
command.Connection = con
command.CommandText = "SELECT customer_name, customer_details FROM environment.customers WHERE (customer_name = '" & txtUser.text & "') AND (Password='" & txtPass.text & "')"
Dim lrd As SqlDataReader = command.ExecuteReader()
If lrd.HasRows Then
While lrd.Read()
Username = lrd("customer_name").ToString()
Password = lrt("Password").ToString()
Password2 = txtPass.txt()
If Password = Password2 and Username = txtUser.text Then
MessageBox.Show("Logged in successfully as " & Username, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
frmMain.Show()
Me.Hide()
Response.Redirect("~/Index.aspx") 'Redirect to your homepage.
'Clear the login field
txtPassword.Text = ""
txtUsername.Text = ""
End If
End While
Else
MessageBox.Show("Username and Password does not match.", "Authentication Failure", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
'Clear the login Field
txtPassword.Text = ""
txtUsername.Text = ""
EndIf
Catch ex As Exception
Messagebox.Show("Error while connecting to SQL Server." & ex.Message)
Finally
con.Close() 'After finish execute anything, force close the connection. (Whether succeed or not.)
End Sub