Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Database VB.NET上的访问级别_Database_Vb.net - Fatal编程技术网

Database VB.NET上的访问级别

Database VB.NET上的访问级别,database,vb.net,Database,Vb.net,我已经创建了一个系统,我是vb.net的新手。它工作得很好。问题是,我需要将主页限制为1.)用户和2.)管理员 例如,登录后,管理员将进入主页 如果用户登录,他们将被定向到另一个页面 我还是vb.net的新手(大约6周前),我正在使用microsoft access作为我的数据库。我在网上找到的很多代码都非常复杂和技术性。我只需要简单的vb.net代码 任何帮助都将不胜感激,谢谢!! 我已经发布了我的登录表单代码,所以你们可以进一步了解我的代码: Public Class Form1 D

我已经创建了一个系统,我是vb.net的新手。它工作得很好。问题是,我需要将主页限制为1.)用户和2.)管理员

例如,登录后,管理员将进入主页 如果用户登录,他们将被定向到另一个页面

我还是vb.net的新手(大约6周前),我正在使用microsoft access作为我的数据库。我在网上找到的很多代码都非常复杂和技术性。我只需要简单的vb.net代码

任何帮助都将不胜感激,谢谢!! 我已经发布了我的登录表单代码,所以你们可以进一步了解我的代码:

Public Class Form1
    Dim loginerror As String
    Public Function login()
    Dim DBconn As New ADODB.Connection
    Dim user As New ADODB.Recordset

    Dim Username As String
    Dim userDB As String
    Dim passDB As String

    Dim UserFound As Boolean

    DBconn.Open("Provider = Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source = '" & Application.StartupPath & "\LoginDB.mdb'")

    user.Open("UserTable", DBconn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)

    UserFound = False
    login = False
    Username = "Username = '" & txtuser.Text & "'" '

    Do
        user.Find(Username)
        If user.BOF = False And user.EOF = False Then
            userDB = user.Fields("Username").Value.ToString

            passDB = user.Fields("Password").Value.ToString

            If userDB <> txtuser.Text Then
                user.MoveNext()
            Else
                UserFound = True
                If passDB = txtpass.Text Then
                    user.Close()
                    DBconn.Close()
                    Return True
                Else
                    loginerror = "Invalid Password"
                    user.Close()
                    DBconn.Close()
                    Return False
                End If
            End If
        Else
            loginerror = "Invalid Username"
            user.Close()
            DBconn.Close()
            Return False
        End If
    Loop Until UserFound = True
    user.Close()
    DBconn.Close()
    Return False


End Function


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    If login() = True Then
        Welcome.Show()
        Me.Close()
    Else
        MessageBox.Show(loginerror, "Login Message")
    End If
End Sub


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    AcceptButton = Button1
    Me.Show()
    Application.DoEvents()
    txtuser.Focus()
End Sub

Private Sub txtpass_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtpass.TextChanged

End Sub

Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click

End Sub

Private Sub txtuser_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtuser.TextChanged

End Sub

Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

End Sub

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click

End Sub

Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click

End Sub

End Class

您需要确定用户是否为管理员(通常,您的用户表应该为用户附加一个角色,例如管理、员工等)

当您尝试登录时会出现类似的情况

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If login() = True and UserRole='Administrator' Then
    Welcome.Show()
    Me.Close()
elseif login() = True then
    WelcomeUser.Show()
    Me.Close()
Else
    MessageBox.Show(loginerror, "Login Message")
End If

End Sub

是的,谢谢你,我已经按照你告诉我的做了,但是我一直收到错误“UserRole”没有声明。它可能无法访问,因为它的保护级别UserRole只是我对users表中字符串值的称呼。。例如,您的users表有一个名为UserRole的列,其值为employee、administrator等。。获取登录的特定用户的值,然后检查他是否是管理员(如上面示例中所述),然后为管理员打开表单。。或者为普通用户打开一个表单(如果不是)。。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If login() = True and UserRole='Administrator' Then
    Welcome.Show()
    Me.Close()
elseif login() = True then
    WelcomeUser.Show()
    Me.Close()
Else
    MessageBox.Show(loginerror, "Login Message")
End If