Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何用vb.net和sqlserver制作登录系统_Sql Server_Vb.net - Fatal编程技术网

Sql server 如何用vb.net和sqlserver制作登录系统

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

我正在使用这段代码,每次我按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

    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使用断点检查代码的执行过程。使用观察窗口检查变量值并发布您的体验。有什么具体的错误吗?