[RESOLVIDO] Problemas com o retornar de registros a um textField
10 respostas
grandao2014
Pessoal estou com um problema na minha aplicação, estou usando o netbeans, mas não consigo trazer as informações do banco de dados mysql e mostrar em um textField.
Vou mostrar o meu código.
//Esta é a parte da minha aplicação do AlunoDAO.
public Aluno pesquisa(Integer id){
Alunoaluno=newAluno();Stringsql="SELECT * FROM aluno WHERE aluno_id = ?;";try{java.sql.PreparedStatementstmt=connection.prepareStatement(sql);stmt.setInt(1,id);ResultSetrs=stmt.executeQuery(sql);if(rs.first()){aluno.setId(rs.getInt("aluno_id"));aluno.setNome(rs.getString("aluno_nome"));aluno.setLogradouro(rs.getString("aluno_logradouro"));aluno.setBairro(rs.getString("aluno_bairro"));aluno.setNumero(rs.getString("aluno_numero"));aluno.setFone(rs.getString("aluno_fone"));}else{thrownewSQLException("Registro não localizado (chave primária inexistente)!");}}catch(SQLExceptione){thrownewRuntimeException(e);}returnaluno;}
//E esta é a parte onde quero mostrar no textField.
//E esta é a parte onde quero mostrar no textField. //Implementar PESQUISA; Alunoalunos=newAluno();AlunoDAOdao=newAlunoDAO();Integernumero=Integer.parseInt(textField1.getText());//passando o objeto alunos como parametrodao.pesquisa(alunos);textField2.setText(alunos.getNome);textField3.getText(alunos.getLogradouro);textField4.getText(alunos.getBairro);textField5.getText(alunos.getNumero);textField6.getText(alunos.getFone);//sua pesquisa ficaria assimpublicvoidpesquisa(Alunosaluno){Stringsql="SELECT * FROM aluno WHERE aluno_id = "+aluno.getId+";";try{java.sql.PreparedStatementstmt=connection.prepareStatement(sql);ResultSetrs=stmt.executeQuery(sql);if(rs.first()){aluno.setId(rs.getInt("aluno_id"));aluno.setNome(rs.getString("aluno_nome"));aluno.setLogradouro(rs.getString("aluno_logradouro"));aluno.setBairro(rs.getString("aluno_bairro"));aluno.setNumero(rs.getString("aluno_numero"));aluno.setFone(rs.getString("aluno_fone"));}catch(SQLExceptione){thrownewRuntimeException(e);}}
Nao sei muito bem posso estar totalmente errado fica a dica e aberto a correções.
Vlw
grandao2014
Continua com o mesmo problema, mas acho que não deve ser void, ele tem que retornar algo. Mas valeu pela tentativa em seu comentário tirei uma dúvida que eu tinha no meu código.
Estou tentando usar em mdo CRUD. Os botões Salvar, Deletar e Limpar estão funcionando. Falta mesmo só Pesquisar e Listar, mas só quero Listar depois que conseguir pesquisar.
R
Rafael_Leal
Você deu algumas bobeiras de OO.
Mas veja agora se funciona....
//Esta é a parte da minha aplicação do AlunoDAO.publicAlunopesquisa(Integerid){Alunoaluno=newAluno();Stringsql="SELECT * FROM aluno WHERE aluno_id = ?;";try{java.sql.PreparedStatementstmt=connection.prepareStatement(sql);stmt.setInt(1,"aluno_id");ResultSetrs=stmt.executeQuery(sql);if(rs.first()){aluno.setId(rs.getInt("aluno_id"));aluno.setNome(rs.getString("aluno_nome"));aluno.setLogradouro(rs.getString("aluno_logradouro"));aluno.setBairro(rs.getString("aluno_bairro"));aluno.setNumero(rs.getString("aluno_numero"));aluno.setFone(rs.getString("aluno_fone"));}else{thrownewSQLException("Registro não localizado (chave primária inexistente)!");}}catch(SQLExceptione){thrownewRuntimeException(e);}returnaluno;}//E esta é a parte onde quero mostrar no textField.//Implementar PESQUISA;Alunoalunos=newAluno();AlunoDAOdao=newAlunoDAO();Integernumero=Integer.parseInt(textField1.getText());alunos=dao.pesquisa(numero);textField2.setText(alunos.getNome());textField3.setText(alunos.getLogradouro());textField4.setText(alunos.getBairro());textField5.setText(alunos.getNumero());textField6.setText(alunos.getFone());
grandao2014
Continua dando erro.
Mas agora nesta linha: stmt.setInt(1, “aluno_id”);
R
Rafael_Leal
grandao2014:
Continua dando erro.
Mas agora nesta linha: stmt.setInt(1, “aluno_id”);
Mancada minha… (FIZ CONFUSÃO COM SETPARAMETER do JPA)
stmt.setInt(1,id);
grandao2014
Com a linha assim:
stmt.setInt(1, id);
O código apresenta o seguinte ERRO:
Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde ao seu servidor MySQL versão para o direito de utilizar sintaxe próximo ‘?’ na linha 1
R
Rafael_Leal
grandao2014:
Com a linha assim:
stmt.setInt(1, id);
O código apresenta o seguinte ERRO:
Você tem um erro em sua sintaxe SQL; verifique o manual que corresponde ao seu servidor MySQL versão para o direito de utilizar sintaxe próximo ‘?’ na linha 1
Tire o “ponto e virgula” da sql. E a coluna aluno_id existe na tabela aluno e é do tipo number?
grandao2014
Pessoal estava lendo um material que achei na internet e fiz esta modificação:
public Aluno findById(Integer id){
No lugar de pesquisa coloquei FindById e funcionou normalmente. Tive uma ideia por alto mas quero informar-me mais sobre isso.
Mas resolvei o problema, agora é só entender.