setText dentro de while com resultset e executequery
01/11/2017
0
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
Post mais votado
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.
Marcio Souza
Mais Posts
01/11/2017
Marcio Souza
01/11/2017
Lucas Darwish
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)
02/11/2017
Lucas Darwish
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.
Clique aqui para fazer login e interagir na Comunidade :)