sql="select * from paciente Where codigo =num{codigo}";pesquisar.setResultSet(sql);if(pesquisar.resultSet.next()){//atualizarRecibo();JOptionPane.showMessageDialog(null," encontrado");jtResp.requestFocus();}else{JOptionPane.showMessageDialog(null,"Código não encontrado");jtRegistro.requestFocus();pesquisar.setResultSet(usuario);}}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro na Pesquisa");}}
Que tipo de objeto é o jtResp ?
Você inicializou ele?
tem como postar o código com as tags code?
R
rodrigo.menezes
me cadastrei hj como faço issso
rodrigo.bossini
Quando estiver respondendo a uma mensagem, tem uns botões acima do campo onde vc digita sua mensagem.
Clica em code, digite o codigo, e clica em code novamente.
Aquificaseucódigo
R
rodrigo.menezes
// esse é o metodo que ta dando o erropublicvoidpesquisarRecibo(){Stringusuario="select * from paciente";try{intnum=0;num=Integer.parseInt(jtRegistro.getText());TesteConexaopesquisar=newTesteConexao();Stringsql="";sql="select * from paciente Where codigo =num";pesquisar.setResultSet(sql);if(pesquisar.resultSet.next()){//atualizarRecibo();JOptionPane.showMessageDialog(null," encontrado");//jtResp.requestFocus();}else{JOptionPane.showMessageDialog(null,"Código não encontrado");jtRegistro.requestFocus();pesquisar.setResultSet(usuario);}}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro na Pesquisa");}}
//e aqui é a classe de conexão
importjava.sql.*;importjavax.swing.*;publicclassTesteConexao{publicstaticConnectionconnection=null;publicstaticStatementstatement=null;publicstaticResultSetresultSet=null;publicstaticbooleangetConexao(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");connection=DriverManager.getConnection("jdbc:odbc:Banco");statement=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);JOptionPane.showMessageDialog(null,"Conexão realizada com sucesso");returntrue;}catch(ClassNotFoundExceptionerro){JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado!");returnfalse;}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Problemas na conexão com o banco de dados!");returnfalse;}}publicstaticvoidclose(){closeResultSet();closeStatement();closeConexao();}privatestaticvoidcloseConexao(){try{connection.close();}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Problemas na conexão com o banco de dados!");}}privatestaticvoidcloseStatement(){try{statement.close();}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"ERRO no closeStatement");}}privatestaticvoidcloseResultSet(){try{resultSet.close();}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro no closeResultSet");erro.printStackTrace();}}publicstaticvoidsetResultSet(Stringsql){try{resultSet=statement.executeQuery(sql);}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro na Pesquisa (setResultSet)");}}publicstaticintrunSql(Stringsql){intquant=0;try{quant=statement.executeUpdate(sql);}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro no script sql de atualização-VERIFIQUE SE TODOS OS CAMPOS FORAM PREENCHIDOS CORRETAMENTE");}returnquant;}}
//assim
rodrigo.bossini
jtRegistro foi inicializado? Ou seja, tem alguma linha do código q tem a chamada new pra esse objeto?
R
rodrigo.menezes
jtRegistro é um TextField que ta amazenado o seu valor na variavel num
rodrigo.bossini
E o textfield ja foi inicializado?
Faz um catch (NullPointerException) pra todos os try’s, assim fica mais fácil achar onde tá a referencia nula.
kaique
Procure a classe Recibo.java, olhe o código da linha 33 e cole aqui. É nessa linha que está sendo propagado o erro.
[]'s.
R
rodrigo.menezes
deu erro no catch nullexception do metodo pesquisarRecibo será que é o valor que ta sendo passando no comando sql
R
rodrigo.menezes
kaique:
Procure a classe Recibo.java, olhe o código da linha 33 e cole aqui. É nessa linha que está sendo propagado o erro.
[]'s.
linha 33 é comentario ja definido do netbeans
kaique
rodrigo.menezes:
kaique:
Procure a classe Recibo.java, olhe o código da linha 33 e cole aqui. É nessa linha que está sendo propagado o erro.
[]'s.
linha 33 é comentario ja definido do netbeans
Foi mal. Não prestei atenção a figura que apareceu na sua primeira mensagem. A linha correta onde o erro está sendo propagado é a linha 338.
Cola ela aqui pra gente ver o que pdoe estar acontecendo…
[]'s.
R
rodrigo.menezes
kaique:
rodrigo.menezes:
kaique:
Procure a classe Recibo.java, olhe o código da linha 33 e cole aqui. É nessa linha que está sendo propagado o erro.
[]'s.
linha 33 é comentario ja definido do netbeans
Foi mal. Não prestei atenção a figura que apareceu na sua primeira mensagem. A linha correta onde o erro está sendo propagado é a linha 338.
Cola ela aqui pra gente ver o que pdoe estar acontecendo…
[]'s.
// tai apartir da 336
sql ="select * from paciente Where codigo ='num'" ;
TesteConexao.setResultSet(sql);
if(TesteConexao.resultSet.next()){
//atualizarRecibo();
JOptionPane.showMessageDialog(null," encontrado");
//jtResp.requestFocus();
}
else{
JOptionPane.showMessageDialog(null,"Código não encontrado");
jtRegistro.requestFocus();
TesteConexao.setResultSet(usuario);
}
}
catch (SQLException erro){
JOptionPane.showMessageDialog(null,"Erro na Pesquisa");
}
catch(NullPointerException erro){
erro.printStackTrace();
JOptionPane.showMessageDialog(null,"Erro na Consulta");
}
rodrigo.bossini
agora que vc fez o catch (NullPointerException) ta aparecendo a mensagem de erro da JOptionPane q ta dentro deste catch?
R
rodrigo.menezes
ta sim no catch dentro do metodo Pesquisar recibo
rodrigo.bossini
Cara ainda to desconfiado do seu jtRegistro. Tem certeza que ja tem uma chamada new pra esse objeto?
R
rodrigo.menezes
jtRegistro = new javax.swing.JTextField();
linha 35 da classe
kaique
Tenta o seguinte:
Verificar se a variável resultSet da classe TesteConexao é nula. Se sim, dê um jeito de instanciar ela;
Essa variável resultSet é um java.sql.ResultSet? Se não, verifica posta aqui o código do método next() que o erro pode ser nele;
[]'s.
R
rodrigo.menezes
kaique:
Tenta o seguinte:
* Verificar se a variável resultSet da classe TesteConexao é nula. Se sim, dê um jeito de instanciar ela;
* Essa variável resultSet é um java.sql.ResultSet? Se não, verifica posta aqui o código do método next() que o erro pode ser nele;
[]'s.
importjava.sql.*;importjavax.swing.*;publicclassTesteConexao{publicstaticConnectionconnection=null;publicstaticStatementstatement=null;publicstaticResultSetresultSet=null;publicstaticbooleangetConexao(){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");connection=DriverManager.getConnection("jdbc:odbc:Banco");statement=connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);JOptionPane.showMessageDialog(null,"Conexão realizada com sucesso");returntrue;}catch(ClassNotFoundExceptionerro){JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado!");returnfalse;}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Problemas na conexão com o banco de dados!");returnfalse;}}publicstaticvoidclose(){closeResultSet();closeStatement();closeConexao();}privatestaticvoidcloseConexao(){try{connection.close();}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Problemas na conexão com o banco de dados!");}catch(NullPointerExceptionerro){erro.printStackTrace();}}privatestaticvoidcloseStatement(){try{statement.close();}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"ERRO no closeStatement");}catch(NullPointerExceptionerro){erro.printStackTrace();}}privatestaticvoidcloseResultSet(){try{resultSet.close();}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro no closeResultSet");erro.printStackTrace();}catch(NullPointerExceptionerro){erro.printStackTrace();}}publicstaticvoidsetResultSet(Stringsql){try{resultSet=statement.executeQuery(sql);}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro na Pesquisa (setResultSet)");}catch(NullPointerExceptionerro){erro.printStackTrace();}}publicstaticintrunSql(Stringsql){intquant=0;try{quant=statement.executeUpdate(sql);}catch(SQLExceptionerro){JOptionPane.showMessageDialog(null,"Erro no script sql de atualização-VERIFIQUE SE TODOS OS CAMPOS FORAM PREENCHIDOS CORRETAMENTE");}returnquant;}}
rodrigo.bossini
OUtra coisa,
Acho que pra cada vez que você for fazer uma consulta ao banco e configurar o resultado no seu ResultSet vc precisa reinicializar o statement assim:
statement = conn.createStatement();
onde conn é o objeto Connection…
então no seu método setResultSet tenta adicionar essa linha.
R
rodrigo.menezes
rod.attack:
OUtra coisa,
Acho que pra cada vez que você for fazer uma consulta ao banco e configurar o resultado no seu ResultSet vc precisa reinicializar o statement assim:
statement = conn.createStatement();
onde conn é o objeto Connection…
então no seu método setResultSet tenta adicionar essa linha.
ja add e continua mesma coisa
rodrigo.bossini
No método pesquisarRecibo, tenta comentar a linha pesquisar.setResultSet(usuario); , só pra ter certeza que o erro tá aí.
R
rodrigo.menezes
a mesma coisa não sei mais o q fazer
kaique
rodrigo.menezes:
rod.attack:
OUtra coisa,
Acho que pra cada vez que você for fazer uma consulta ao banco e configurar o resultado no seu ResultSet vc precisa reinicializar o statement assim:
statement = conn.createStatement();
onde conn é o objeto Connection…
então no seu método setResultSet tenta adicionar essa linha.
ja add e continua mesma coisa
Onde você adicionou esse código que você está falando?
Pelo que eu dei uma olhada, o problema é a variável statement deve estar nula. Ela é instanciada no método getConexao(), e não encontrei chamada a esse método. Imprime o valor da variável statement no começo do método setResultSet() que a gente sabe se ela está nula ou não.
[]s.
R
rodrigo.menezes
kaique:
rodrigo.menezes:
rod.attack:
OUtra coisa,
Acho que pra cada vez que você for fazer uma consulta ao banco e configurar o resultado no seu ResultSet vc precisa reinicializar o statement assim:
statement = conn.createStatement();
onde conn é o objeto Connection…
então no seu método setResultSet tenta adicionar essa linha.
ja add e continua mesma coisa
Onde você adicionou esse código que você está falando?
Pelo que eu dei uma olhada, o problema é a variável statement deve estar nula. Ela é instanciada no método getConexao(), e não encontrei chamada a esse método. Imprime o valor da variável statement no começo do método setResultSet() que a gente sabe se ela está nula ou não.
[]s.
colocquei statement = connection.createStatement(); no metodo setResultSet e no metodo runSql e continua dando o memso ero
R
rodrigo.menezes
[/code]//essa é a minha classe de conexao feita a alteração
import java.sql.*;
import javax.swing.*;
public class TesteConexao {
public static Connection connection=null;
public static Statement statement=null;
public static ResultSet resultSet=null;
public static boolean getConexao(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
connection = DriverManager.getConnection("jdbc:odbc:Banco");
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
JOptionPane.showMessageDialog(null,"Conexão realizada com sucesso");
return true;
}
catch(ClassNotFoundException erro){
JOptionPane.showMessageDialog(null,"Driver JDBC-ODBC não encontrado!");
return false;
}
catch(SQLException erro){
JOptionPane.showMessageDialog(null,"Problemas na conexão com o banco de dados!");
}
private static void closeConexao(){
try{
connection.close();
}
catch(SQLException erro){
JOptionPane.showMessageDialog(null,"Problemas na conexão com o banco de dados!");
}
public static int runSql(String sql){
int quant=0;
try{
statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
quant = statement.executeUpdate(sql);
}
catch(SQLException erro){
JOptionPane.showMessageDialog(null,"Erro no script sql de atualização-VERIFIQUE SE TODOS OS CAMPOS FORAM PREENCHIDOS CORRETAMENTE");
}
return quant;
}[code]
R
rodrigo.menezes
Não sei mesmo mais o q fazer ja tentei de tudo se alguem souber por favor manda ai a resposta
kaique
Cara, não tem pra onde correr, a mensagem de erro está indicando que o erro está sendo disparado na classe Recibo, mais precisamente no método pesquisarRecibo, na linha 338.
Verifique o que acontece nesse trecho de código que o erro está lá…