Sql server 如何用vb.net和sqlserver制作登录系统
我正在使用这段代码,每次我按loginBTN时,我的代码什么都没有发生,我都会连接到SQL server服务器Sql server 如何用vb.net和sqlserver制作登录系统,sql-server,vb.net,Sql Server,Vb.net,我正在使用这段代码,每次我按loginBTN时,我的代码什么都没有发生,我都会连接到SQL server服务器 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles loginbtn.Click Dim username As String Dim password As String Dim password1 As String
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles loginbtn.Click
Dim username As String
Dim password As String
Dim password1 As String
Dim oleConn As New SqlConnection(main.conString)
oleConn.Open()
Try
Dim login As String = "Select *from admin where username = '" & usernametxt.Text & "' AND password = '" & passwordtxt.Text & "' "
Dim command As New SqlDataAdapter(login, oleConn)
Dim command1 As New SqlCommand(login, oleConn)
Dim reader1 As SqlDataReader = command1.ExecuteReader()
If reader1.HasRows Then
While reader1.Read
username = reader1("username")
password = reader1("password")
password1 = passwordtxt.Text()
If username = usernametxt.Text And password = password1 Then
main.Show()
Me.Hide()
End If
End While
Else
PictureBox1.Show()
errorLabel.Show()
Beep()
'MsgBox("wrong password or username")
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
oleConn.Close()
End Try
End Sub
-您不应该将SQL语句连接在一起-使用参数化查询来避免SQL注入您可以做以下几项改进:使用executeScalar()&消除循环的需要,并使用ADO.Net参数化来删除登录页,使其成为SQL注入黑客攻击的目标:。您是否能够在调试模式下逐步完成代码?在这个事件中是否执行了任何一行?我还将研究在数据库中存储加密密码和在查询中发送加密密码。目前,查询正在发送纯文本密码,数据库正在以纯文本形式存储所有密码。最后,根据您使用的SQL,您应该尽量不使用保留字作为字段名。密码是MS SQL中的保留字。。。不确定是否有其他风格的SQLServer使用断点检查代码的执行过程。使用观察窗口检查变量值并发布您的体验。有什么具体的错误吗?