setText dentro de while com resultset e executequery
Pessoal Boa tarde. Primeira vez usando o fórum. Se tiver algo errado, como local da pergunta, desculpem o erro.
Seguinte.
Estou fazendo um sistema de avaliação em java com o netbeans, onde o sistema retorna as questões e alternativas de um bd em mysql.
meu cod está assim:
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3308/avaliacoes","root","");
System.out.println("Conectado sim");
String questao1="";
Statement q1 = con.prepareStatement(questao1);
ResultSet rq1 = q1.executeQuery("SELECT questao, respostas FROM avaliacao_windows INNER JOIN respostas_windows ON avaliacao_windows.num_pergunta = respostas_windows.num_pergunta where avaliacao_windows.num_pergunta=1 ");
while (rq1.next()){
String pergunta1 = rq1.getString("questao");
lblQuestao.setText(pergunta1);
String resposta1 = rq1.getString("respostas");
lblResposta.setText(resposta1);
}
}
catch (ClassNotFoundException ex){
System.out.println("Classe não encontrada, adicione o driver nas bibliotecas.");
Logger.getLogger(telaAvaliacao.class.getName()).log(Level.SEVERE, null, ex);
} catch(SQLException e){
System.out.println(e);
throw new RuntimeException(e);
}
}
------------------------------
A parte de conexão está okay, mas da erro com o setText. Sei que tem a ver com o loop do while, mas não sei como resolver. Ja pesquisei muuuuito sobre mas não consegui fazer.
Alguem pode me dar um help? Logo digo que estou começando agora, então não tenho muito conhecimento de alternativas para isto.
Valeu pessoal e peço desculpas pela falta de prática ou por ter postado algo errado.
Valeu.
Seguinte.
Estou fazendo um sistema de avaliação em java com o netbeans, onde o sistema retorna as questões e alternativas de um bd em mysql.
meu cod está assim:
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3308/avaliacoes","root","");
System.out.println("Conectado sim");
String questao1="";
Statement q1 = con.prepareStatement(questao1);
ResultSet rq1 = q1.executeQuery("SELECT questao, respostas FROM avaliacao_windows INNER JOIN respostas_windows ON avaliacao_windows.num_pergunta = respostas_windows.num_pergunta where avaliacao_windows.num_pergunta=1 ");
while (rq1.next()){
String pergunta1 = rq1.getString("questao");
lblQuestao.setText(pergunta1);
String resposta1 = rq1.getString("respostas");
lblResposta.setText(resposta1);
}
}
catch (ClassNotFoundException ex){
System.out.println("Classe não encontrada, adicione o driver nas bibliotecas.");
Logger.getLogger(telaAvaliacao.class.getName()).log(Level.SEVERE, null, ex);
} catch(SQLException e){
System.out.println(e);
throw new RuntimeException(e);
}
}
------------------------------
A parte de conexão está okay, mas da erro com o setText. Sei que tem a ver com o loop do while, mas não sei como resolver. Ja pesquisei muuuuito sobre mas não consegui fazer.
Alguem pode me dar um help? Logo digo que estou começando agora, então não tenho muito conhecimento de alternativas para isto.
Valeu pessoal e peço desculpas pela falta de prática ou por ter postado algo errado.
Valeu.
Lucas Darwish
Curtidas 0
Melhor post
Marcio Souza
01/11/2017
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at sisAval.telaAvaliacao.ligar(telaAvaliacao.java:57) at sisAval.telaInicial.btnIniciarActionPerformed(telaInicial.java:226) at sisAval.telaInicial.access$200(telaInicial.java:25) at sisAval.telaInicial$3.actionPerformed(telaInicial.java:141)
NullPointerException significa que você está acessando algum objeto que não foi instanciado. Então revise se você criou o objeto para a variavel lblQuestao.
Analise o que você tem nas linhas que aparecem nesse trecho da exceção que eu postei, a exceção está estourando nelas.
GOSTEI 2
Mais Respostas
Marcio Souza
01/11/2017
Seria de grande ajuda se você postasse o erro. Copia o erro do console e cola aqui pra gente. Como é sua primeira postagem, ao postar código, use o botão de inserir código fonte que tem no editor e coloque o código entre as marcações que serão criadas por ele.
GOSTEI 1
Lucas Darwish
01/11/2017
Opa Obrigado pela dica do código..
Segue erro.. Quando eu tiro o setText de dentro do while, o erro não ocorre, mas também não consigo usar o setText.
Muito obrigado pela ajuda :)
Segue erro.. Quando eu tiro o setText de dentro do while, o erro não ocorre, mas também não consigo usar o setText.
Muito obrigado pela ajuda :)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at sisAval.telaAvaliacao.ligar(telaAvaliacao.java:57) at sisAval.telaInicial.btnIniciarActionPerformed(telaInicial.java:226) at sisAval.telaInicial.access$200(telaInicial.java:25) at sisAval.telaInicial$3.actionPerformed(telaInicial.java:141) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
GOSTEI 0
Lucas Darwish
01/11/2017
RESOLVIDO... Muito obrigado pela atenção.
Realmente estava tendo uma exceção de um JFRAME para outro. O que fiz foi instanciar o objeto no mesmo JFRAME do objeto, dai ele encontrou o objeto relacionado.
Valeu pela ótima ajuda.
NullPointerException significa que você está acessando algum objeto que não foi instanciado.
Realmente estava tendo uma exceção de um JFRAME para outro. O que fiz foi instanciar o objeto no mesmo JFRAME do objeto, dai ele encontrou o objeto relacionado.
Valeu pela ótima ajuda.
GOSTEI 0