如果用户名和密码正确插入,我已经创建了一个显示正确消息的代码。用户的用户名和密码是从数据库表中提取的。但是我总是收到这样的消息,用户名和密码不正确。我不知道为什么这是我的代码
Private Sub Button2_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnLogIn.Click
MySqlConn =新的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
末级
最佳答案
在您的代码中尝试一下。
#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