Estou fazendo um trabalho de recuperação e estou com dificuldades em um ponto crucial do projeto, e vou tentar explicar no que estou pedindo ajuda, dando uma visão geral do programa:
Tenho que elaborar uma aplicação em java que utilize um banco de dados para configurar um menu de usuário.
Eu estou usando o banco de dados que vem junto com o Netbeans, o Derby.
Criei as seguintes tabelas:
Usuários
id
Nome
Senha
Ativo
menuId
Menus
id
Nome
padrão
Opcoes
id
Nome
Aplicacao
Ativo
Menus_Opcoes
id
menuID
opcaoID
O usuário ADMIN poderá criar usuários e configurar um menu para cada usuário.
Até onde eu fiz o meu admin consegue criar menus, opções e usuários normalmente.
Quando um usuário fizer o login na aplicação a aplicação deve apresentar o menu de opçoes de acordo com a configuração definida pelo ADMIN.
É ai que está a dificuldade!
Ao criar uma opção no menu o ADMIN :
a) definirá qual a aplicação que estará associada. Exemplo : Opção do menu "Bloco de Notas" abrirá o "Notepad.exe"
B) definir a chamada a outro menu já existente.
Eu gravei o caminho do .exe do que eu quero abrir em uma String no campo Aplicacão na tabela Opções do Banco de Dados
Bom, tem outros detalhes que ainda não fiz, mas estou enroscado nisso. Como abrir esse menu novo com o usuario novo.
Como dividi em várias classes, vou colocar a parte que entro com usuario e senha:
Menu
1. public class MenuLoginUI {
2.
3. private UsuarioDAO usuarioDAO;
4. private UsuarioDTO usuarioDTO;
5.
6. public void entradaUsuario() throws SQLException {
public class MenuLoginUI { private UsuarioDAO usuarioDAO; private UsuarioDTO usuarioDTO; public void entradaUsuario() throws SQLException { usuarioDAO = new UsuarioDAO(); usuarioDTO = new UsuarioDTO(); this.logar(); usuarioDAO.conferir(usuarioDTO); } public void logar() { System.out.println("---- LOGIN ----"); System.out.println("Entre com o nome: "); usuarioDTO.setNomeUsuario(Keyboard.readString()); System.out.println("Entre com a senha: "); usuarioDTO.setSenhaUsuario(Keyboard.readString()); System.out.println("-------------------------"); } }
E o método Conferir()
1. public void conferir(UsuarioDTO usuario) throws SQLException {
2. if (usuario.getNomeUsuario().equals("admin") && usuario.getSenhaUsuario().equals("admin")) {
3. principal.menuPrincipal();
4. } else {
5. String sql = "select nome, senha from usuarios where nome=? and senha=? and ativo='1'";
Pergunta
danilosfc
Boa tarde!
Estou fazendo um trabalho de recuperação e estou com dificuldades em um ponto crucial do projeto, e vou tentar explicar no que estou pedindo ajuda, dando uma visão geral do programa:
Tenho que elaborar uma aplicação em java que utilize um banco de dados para configurar um menu de usuário.
Eu estou usando o banco de dados que vem junto com o Netbeans, o Derby.
Criei as seguintes tabelas:
Usuários
id
Nome
Senha
Ativo
menuId
Menus
id
Nome
padrão
Opcoes
id
Nome
Aplicacao
Ativo
Menus_Opcoes
id
menuID
opcaoID
O usuário ADMIN poderá criar usuários e configurar um menu para cada usuário.
Até onde eu fiz o meu admin consegue criar menus, opções e usuários normalmente.
Quando um usuário fizer o login na aplicação a aplicação deve apresentar o menu de opçoes de acordo com a configuração definida pelo ADMIN.
É ai que está a dificuldade!
Ao criar uma opção no menu o ADMIN :
a) definirá qual a aplicação que estará associada. Exemplo : Opção do menu "Bloco de Notas" abrirá o "Notepad.exe"
B) definir a chamada a outro menu já existente.
Eu gravei o caminho do .exe do que eu quero abrir em uma String no campo Aplicacão na tabela Opções do Banco de Dados
Bom, tem outros detalhes que ainda não fiz, mas estou enroscado nisso. Como abrir esse menu novo com o usuario novo.
Como dividi em várias classes, vou colocar a parte que entro com usuario e senha:
Menu
1. public class MenuLoginUI {
2.
3. private UsuarioDAO usuarioDAO;
4. private UsuarioDTO usuarioDTO;
5.
6. public void entradaUsuario() throws SQLException {
7. usuarioDAO = new UsuarioDAO();
8. usuarioDTO = new UsuarioDTO();
9. this.logar();
10. usuarioDAO.conferir(usuarioDTO);
11. }
12.
13. public void logar() {
14. System.out.println("---- LOGIN ----");
15. System.out.println("Entre com o nome: ");
16. usuarioDTO.setNomeUsuario(Keyboard.readString());
17. System.out.println("Entre com a senha: ");
18. usuarioDTO.setSenhaUsuario(Keyboard.readString());
19. System.out.println("-------------------------");
20. }
21. }
public class MenuLoginUI { private UsuarioDAO usuarioDAO; private UsuarioDTO usuarioDTO; public void entradaUsuario() throws SQLException { usuarioDAO = new UsuarioDAO(); usuarioDTO = new UsuarioDTO(); this.logar(); usuarioDAO.conferir(usuarioDTO); } public void logar() { System.out.println("---- LOGIN ----"); System.out.println("Entre com o nome: "); usuarioDTO.setNomeUsuario(Keyboard.readString()); System.out.println("Entre com a senha: "); usuarioDTO.setSenhaUsuario(Keyboard.readString()); System.out.println("-------------------------"); } }
E o método Conferir()
1. public void conferir(UsuarioDTO usuario) throws SQLException {
2. if (usuario.getNomeUsuario().equals("admin") && usuario.getSenhaUsuario().equals("admin")) {
3. principal.menuPrincipal();
4. } else {
5. String sql = "select nome, senha from usuarios where nome=? and senha=? and ativo='1'";
6. PreparedStatement argumento = database.getConnection().prepareStatement(sql);
7. argumento.setString(1, usuario.getNomeUsuario());
8. argumento.setString(2, usuario.getSenhaUsuario());
9.
10. ResultSet registro = argumento.executeQuery();
11. if (registro.next()) {
12. principal.menuPrincipal();
13. } else {
14. System.out.println("-----USUÁRIO NÃO AUTORIZADO-----");
15. login.entradaUsuario();
16. }
17. }
18. }
LEMBRANDO QUE ESTOU USANDO APENAS TEXTO E NADA DE GRÁFICO!
Agradeço desde já qualquer ajuda!!!!!!
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.