tenho uma tela de cadasto com nome e senha quando o botao "Ok" é clickado salva no banco de dados na tabela usuario. aki é onde crio o botao e dou a açao nele
privateJButtongetOkButton(){if(okButton==null){okButton=newJButton();okButton.setText("OK");okButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){cadastrarUsuario();}});}returnokButton;}protectedvoidcadastrarUsuario(){Stringnome=getNomeTextField().getText();Stringsenha=newString(getSenhaPasswordField().getPassword());Usuariousuario=newUsuario();usuario.setNome(nome);usuario.setSenha(senha);BdUsuariobdUsuario=newBdUsuario();try{bdUsuario.inserir(usuario);JOptionPane.showMessageDialog(null,"Cadastrado com sucesso!");}catch(SQLExceptione){JOptionPane.showMessageDialog(this,"Erro ao cadastrar usuário!\n"+e.getMessage(),"Erro",JOptionPane.WARNING_MESSAGE);}}
tambem nessa tela de cadastro tenho dois jRadio Button
a minha duvia é a seguinte: se o jradioButton superUsuario tivesse selecionado, queria que quando o botao ok fosse precionado salvase em outra tabela no banco de dados. eu tenho a tabela Adm e a superUsuario feito no banco de dados mysql....
vamos super selecionei o adm salva na tabela Adm, selcionei SuperUsuario salva na tabela SuperUsuario
Basta vc fazer um método que te diga qual dos dois está selecionado e com esse valor fazer a lógica de salvamento adequada. Só acho que vc está confundindo as coisas, já que seu método do RadioButton está retornando um dos dois botões.
renzonuccitelli
privateJButtongetOkButton(){if(okButton==null){okButton=newJButton();okButton.setText("OK");okButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){cadastrarUsuario();}});}returnokButton;}protectedvoidcadastrarUsuario(){Stringnome=getNomeTextField().getText();Stringsenha=newString(getSenhaPasswordField().getPassword());Usuariousuario=newUsuario();usuario.setNome(nome);usuario.setSenha(senha);if(this.isUsuario()){BdUsuariobdUsuario=newBdUsuario();try{bdUsuario.inserir(usuario);JOptionPane.showMessageDialog(null,"Cadastrado com sucesso!");}catch(SQLExceptione){JOptionPane.showMessageDialog(this,"Erro ao cadastrar usuário!\n"+e.getMessage(),"Erro",JOptionPane.WARNING_MESSAGE);}}elseif(this.isAdm()){//escrever aqui a lógica para salvar na tabela do adm}}
Vc teria que prover os métodos com retorne boleano dizendo qual o tipo escolhido, e esse método vc conseguria facilmente apenas perguntando qual dos botoes está selecionado...
Pedro_Salles
nao entendi essa parte if(this.isUsuario()){
tentei fzer mais nao deu certo
renzonuccitelli
Pedro Salles:
nao entendi essa parte
if(this.isUsuario()){
tentei fzer mais nao deu certo
Vc tem que criar o método private boolean isUsuario(){} na sua classe. Da mesma for vc cria o isAdm.
[code]
En ves de usar this.isUsuario() use superUsuario.isSelected() e em vez de this.isAdm use adm.isSelected()
Pedro_Salles
deu certo
muito obrigado por ter me ajudado
uma outra duvida que tenho é a seguinte. tenho uma tela de login com nome e senha, como faça pra comparar o nome e a senha que a pessoa digitou nos textFields com a que ta salva no banco de dados…
renzonuccitelli
Faz praticamente a mesma coisa que fiz na solução desse tópico:
Coloque o valor do textField em uma string, com o getText() (acho que é esse o método), depois recupera o nome e senha do BD e compare os valores. Só uma coisa, se a sua aplicação for academica td bem vc guardar as senhas no bd. Caso contrário, por motivos de segurança, seria bom vc guarda o hash das senhas…
Pedro_Salles
tentei fazer aki mais nao deu certo
esse e a classe de conexao com o banco ela que busca os dados no bd
publicArrayList<Usuario>listar()throwsSQLException{Stringurl="jdbc:mysql://localhost:3306/controle"; String user = "root"; String password = "1234"; ArrayList<Usuario> usuarios = new ArrayList<Usuario>(); Connection connection = DriverManager .getConnection(url, user, password); PreparedStatement preparedStatement = connection .prepareStatement("select*fromusuario/*order by nome*/"); ResultSet resultSet = preparedStatement.executeQuery(); while (resultSet.next()) { Usuario usuario = new Usuario(); usuario.setId(resultSet.getInt("idusuario")); usuario.setNome(resultSet.getString("nome")); usuario.setSenha(resultSet.getString("senha"));usuarios.add(usuario);}connection.close();preparedStatement.close();resultSet.close();returnusuarios;}
quando eu vou compara ta dando erro.
os dados que eu to recuperando to salvando num arraylist