我下面的代码不会阻止其他col1和col2不匹配的用户。需要帮助解决
如果userid与部门名称匹配,则尝试授予用户访问权限,并打开特定表单。如果userid1和dept1匹配打开的Form1,userid2和dept2匹配打开的Form2,则其他未经授权的用户。
Private Sub BTNLOGIN_Click(sender As System.Object, e As System.EventArgs) Handles BTNLOGIN.Click
Try
Dim myconn As New SqlClient.SqlConnection("connection string;")
myconn.Open()
Dim sql As String = "select USERNAME,DEPT FROM USERS where USERNAME = '" & TXTBUNAME.Text & "'AND DEPT='" & CmbDept.Text & "'"
Dim CMD As SqlCommand = New SqlCommand(sql, myconn)
Dim reader As SqlDataReader = CMD.ExecuteReader
If reader.Read Then
CmbDept.SelectedIndex = "@DEPT"
Me.Dispose()
Else
MessageBox.Show("Unauthorized User")
Me.Show()
End If
Catch ex As Exception
End Try
If CmbDept.Text.Trim = "option1" Then
Form1.Show()
End If
If CmbDept.Text.Trim = "option2" Then
Form2.Show()
End If
End Sub发布于 2019-02-15 11:32:47
我的代码适用于每个部门的1个用户。我怎么可能有多个用户来自同一个部门,但需要使用环境登录验证用户id。SQL中没有存储密码。表列的USERID,EMP NAME & Dept Try Dim conn As New SqlClient.SqlConnection("Connection String;") conn.Open() Dim Command As New SqlCommand("SELECT USERID,Dept FROM TABLENAME WHERE USERNAME ='“& UName & "'and DEPT ='”& CmbDept.SelectedItem &“”,conn)
Dim da As SqlDataAdapter = New SqlDataAdapter(Command)
Dim dt As DataTable = New DataTable()
da.Fill(dt)
If (dt.Rows.Count > 0) Then
If (CmbDept.SelectedIndex = 0) Then
Dim a As New form1
a.Show()
Me.Hide()
ElseIf (CmbDept.SelectedIndex = 1) Then
Dim b As New form2
b.Show()
Me.Hide()
End If
Else
MessageBox.Show("invalid User")
Me.Show()
End If
Catch ex As Exception
End Try
End Subhttps://stackoverflow.com/questions/54582432
复制相似问题