VERIFICAR PERMISSOES DE UM PERFIL NA TABELA
                    boa tarde
eu tenho as seguintes tabelas:
USUÃRIO : ID_USUÃRIO, SENHA, FK(ID_PERFIL)
PERFIL: ID_PERFIL, DESCRICAO
MODULO: ID_MODULO, DESCRIÇÃO (CADASTRO DE CLIENTE) , NOME_BOTAO(BTN_CADASTRO_CLIENTE)
PERMISSÕES: FK(ID_PERFIL) , FK(ID_MODULO) , DIREITO_ACESSO (SIM/NÃO)
gostaria de saber como pegar o usuário logado, verificar o perfil dele e varrer a tabela permissões para saber quais botões ele terá acesso????????
por favor me ajudem
obrigado
            eu tenho as seguintes tabelas:
USUÃRIO : ID_USUÃRIO, SENHA, FK(ID_PERFIL)
PERFIL: ID_PERFIL, DESCRICAO
MODULO: ID_MODULO, DESCRIÇÃO (CADASTRO DE CLIENTE) , NOME_BOTAO(BTN_CADASTRO_CLIENTE)
PERMISSÕES: FK(ID_PERFIL) , FK(ID_MODULO) , DIREITO_ACESSO (SIM/NÃO)
gostaria de saber como pegar o usuário logado, verificar o perfil dele e varrer a tabela permissões para saber quais botões ele terá acesso????????
por favor me ajudem
obrigado
                    Olá BORTHOLETTO,
Cara qual banco de dados você utiliza?
            Cara qual banco de dados você utiliza?
                    A query abaixo traz todas os modulos que o usuário logado tem acesso
select id_modulo from permissão
where permissão.Id_perfil = (select id_perfil from usuário where id_usuário = usuário_logado)
and direito_acesso = true
            select id_modulo from permissão
where permissão.Id_perfil = (select id_perfil from usuário where id_usuário = usuário_logado)
and direito_acesso = true
                    Não seria mais interessante trabalhar com um TREEVIEW / LISTVIEW para carregar as operações?
                
            
                    essa query fou muito util......mas tem mias uma duvida....com esse select retornara varios registros, como salvo esses registros retornados? e depois varrer esses registros e comparar com os botões que vou dar acesso para esse usuario e habilitar os mesmos???
exemplo: esse select que vc passou retorna o codigo 1001 que corresponde o botão cadastrar cliente....1002 que corresponde o botão cadastrar fornecedor.
então quero salvar esses 2 registros que seria em uma matiriz??? e depois verificar se é 1001 eu faço btnCliente.enable=true e 1002 btnForncedor.enable= true
valeu pela ajuda
            exemplo: esse select que vc passou retorna o codigo 1001 que corresponde o botão cadastrar cliente....1002 que corresponde o botão cadastrar fornecedor.
então quero salvar esses 2 registros que seria em uma matiriz??? e depois verificar se é 1001 eu faço btnCliente.enable=true e 1002 btnForncedor.enable= true
valeu pela ajuda
Citação::
A query abaixo traz todas os modulos que o usuário logado tem acesso
select id_modulo from permissão
where permissão.Id_perfil = (select id_perfil from usuário where id_usuário = usuário_logado)
and direito_acesso = true
                    Eduardo, mas os valores que serão retornados pelo select vão ficar salvos onde????
valeuuuuuuuuuu
            valeuuuuuuuuuu
                    Voce que sabe..
Um ArrayList,Vetores,fica a seu criterios,basta definir um numero de posiçoes...
cria o vetor,e vai inserindo atravez do FOR
            Um ArrayList,Vetores,fica a seu criterios,basta definir um numero de posiçoes...
cria o vetor,e vai inserindo atravez do FOR
                    Pra voce criar um Recordset segue este codigo:
            Dim cComando As New SqlCommand([Ô]select * from Tabela[Ô], CON)
                Dim I As Integer
                Dim oAdapt As New SqlDataAdapter(cComando)
                Dim oDados As New DataTable([Ô]TABELA[Ô])
                Try
                    oAdapt.Fill(oDados)
                    For I = 0 To (oDados.Rows.Count - 1)
                       [ô]Cria um vetor com as posiçoes de quantidade de itens do datatable
                        Dim Vetor(oDados.Rows.Count) As String
                                [ô]feita uma comparação com o perfil de usuario que voce deseja
                                [ô]ira percorrer  linha por linha conforme seus criterios,dentro dos parametros informados no select
                                [ô]guarda no vetor os valores da tabela
                                 Vetor(i) = oDados.Rows(i)([Ô]CAMPO_TAL[Ô])
                                [ô]Mostra oque esta gravando..
                                [ô]Debug.Print(vetor(i))
                       End If
                    Next
                 Catch ex as exception
                      Msgbox(err.description)
                 finally
                      con.close()
                 End Try
                
                    valeu doidão. na hora do almoço vou testar e te falo se deu certo
                
            
                    doidão deu certo, uma ultima pergunta....desculpa atrapalhar ai....
no vetor ele ta trazendo os codigo 1001 que corresponde o botão cadastrar cliente na tabela e 1002 que corresponde botão cadastrar fornecedor na tabela.
como que eu pego esse valor 1001 e 1002 do FOR e faço a comparação....se 1001 btn.cliente.enable=true e 1002 btn.fornecedor.enable=true
entendeu????
valeuuuuu
                
            no vetor ele ta trazendo os codigo 1001 que corresponde o botão cadastrar cliente na tabela e 1002 que corresponde botão cadastrar fornecedor na tabela.
como que eu pego esse valor 1001 e 1002 do FOR e faço a comparação....se 1001 btn.cliente.enable=true e 1002 btn.fornecedor.enable=true
entendeu????
valeuuuuu
                    Que isso brown,pode pergunta ae ;)
como ta sendo o seu select?
            como ta sendo o seu select?
                        Tópico encerrado , respostas não são mais permitidas