良い一日、
助けが必要です。現在アプリケーションにログオンしているユーザーが特定の権限/役割を持っているかどうかを確認するために、MySQL データベースにクエリを実行しようとしています。照会された値が存在する場合、特定のメニュー項目を有効にしたいと考えています。
質問を入力しているときに、同様の質問のほとんどをチェックアウトしましたが、ほとんどが ASP と JSP を扱っているため、さらに混乱します (まだ調べていないため)。私はまだVB.NetとMySQLを学んでいます。
どうぞよろしくお願いいたします。
ここに私のコードがあります - 私は何をしていないのですか?:
Public Sub checkAccessLevel()
Dim dbConn As New MySqlConnection(String.Format("Server={0};Port={1};Uid={2};Password={3};Database=parts", FormLogin.ComboBoxServerIP.SelectedItem, My.Settings.DB_Port, My.Settings.DB_UserID, My.Settings.DB_Password))
Dim dbQuery As String = "SELECT Level FROM users WHERE username = '" & FormLogin.TextBoxUsername.Text & "'"
Dim dbAdapter As New MySqlDataAdapter(dbQuery, dbConn)
Dim dbData As MySqlDataReader
Try
dbConn.Open()
dbData = dbAdapter.SelectCommand.ExecuteReader
dbData.Read()
While dbData.Read
Select Case UCase(dbData(0).ToString)
Case Is = "Admin"
TSMenuItemOptions.Enabled = True
Case Is = "Manager"
TSMenuItemOptions.Enabled = True
Case Is = "User"
TSMenuItemOptions.Enabled = False
End Select
End While
dbData.Close()
Catch ex As Exception
MessageBox.Show("A DATABASE ERROR HAS OCCURED" & vbCrLf & vbCrLf & ex.Message & vbCrLf & _
vbCrLf + "Please report this to the IT/Systems Helpdesk at Ext 131.")
Finally
dbAdapter.Dispose()
dbConn.Close()
End Try
End Sub