Estou com um pequeno probleminha para inserir dados de um jframe no meu db. O Jframe já está pronto e a classe que pega os dados tbm. Eu só não sei como chamar esse método da outra classe no botão do meu JFrame. Gostaria de saber como estruturar meu ActionListener para pegar esses dados. Esse é o código da classe que pega os dados:
publicclassContatoDAO{privateConnectionconnection;publicContatoDAO()throwsSQLException{this.connection=jdbc.getConnection();}publicvoidadiciona(Contatocontato)throwsSQLException{PreparedStatementstmt=this.connection.prepareStatement("insert into cadastro(os,cliente,cpf) values (?, ?, ?)");stmt.setInt(1,contato.getOs());stmt.setString(2,contato.getCliente());stmt.setString(3,contato.getCpf());stmt.execute();stmt.close();}}
Eu quero saber como colocar a função adiciona(Contato contato) (onde ‘Contato’ tem os sets e gets dos campos) no actionListener de outra classe.
Uma cria um instância da Classe que que vc quer usar o método
Classe classe = new Classe(); classe.metodo();
Ou, na definição do Método, faça ele static, e chama assim
Classe.metodo();
Será que era isso?
igorbrites
Era mais ou menos isso. Só que agora aparece o seguinte:
privateJButtongetJButton1(){if(jButton1==null){jButton1=newJButton("salvar");jButton1.setBounds(newRectangle(180,370,95,30));jButton1.setText("Salvar");jButton1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){try{ContatoDAOcont1=newContatoDAO();Contatocontato=newContato();cont1.adiciona(contato);// é aqui que eu agarro!!!!!!!}catch(SQLExceptione1){// TODO Auto-generated catch blocke1.printStackTrace();}}});}returnjButton1;}
O erro é porque você está inserindo um contato sem setar os seus valores…
KIMBA
Sobre o primeiro erro, é o que o colega aí falou, é um erro de SQL
No Codido da sua classe ContatoDAO, vc deve estar mandando uma String para o executeUpdate() não é?
Verifique pelo debug se o comando SQL está correto.
Quanto ao segundo, é mais ou menos assim mesmo.
Eu tenho tenho por pratica, criar um metodo para ler todos os campos de uma vez…