Bom dia
De novo eu com os erros que não aconteciam e começam a acontecer, tenho um botão btnOsPesquisar onde através dele chamo a ordem de serviços pelo numero e faço alterações nela se for preciso, só que agora esta dando uma exceção que não dava antes, e eu por ser um pouco novo na programação Java não consigo entender a exceção da forma que é exposta no depurador, mas ja estou estudando para entender estas mensagens, e conto com a ajuda de vocês.
Segue abaixo a mensagem de exceção:
java.lang.NullPointerException
at br.com.Os.telas.TelaOs.pesquisar_os(TelaOs.java:102)
at br.com.Os.telas.TelaOs.btnOsPesquisarActionPerformed(TelaOs.java:595)
at br.com.Os.telas.TelaOs.access$600(TelaOs.java:17)
at br.com.Os.telas.TelaOs$7.actionPerformed(TelaOs.java:444)
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.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
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:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
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)
CONSTRUÍDO COM SUCESSO (tempo total: 34 segundos)
Esta exceção acontece no momento em que digito o numero da OS e confirmo.
Segue abaixo o código da classe:
private void pesquisar_os() {
// A linha abixo cria uma caixa de entrada do tip JOptionPane
String num_os = JOptionPane.showInputDialog("Digite o Numero da Ordem de Serviços!");
String sql = "select * from tblos where numeroos =" + num_os;
try {
pst = conexao.prepareStatement(sql);
rs = pst.executeQuery();
if (rs.next()) {
txtOs.setText(rs.getString(1));
txtData.setText(rs.getString(2));
// Setando os Radio Button
String rbtTipo = rs.getString(3);
if (rbtTipo.equals("Orçamento")) {
rbtOrc.setSelected(true);
tipo = "Orçamento";
} else {
rbtOs.setSelected(true);
tipo = "Ordem de Serviços";
}
cboOsSit.setSelectedItem(rs.getString(4));
txtOsEquip.setText(rs.getString(5));
txtOsDef.setText(rs.getString(6));
txtOsServ.setText(rs.getString(7));
txtOsTec.setText(rs.getString(8));
txtOsValor.setText(rs.getString(9));
txtCliId.setText(rs.getString(10));
btnOsAdicionar.setEnabled(false);
txtCliPesquisar.setEditable(false);
tblClientes.setVisible(false);
} else {
JOptionPane.showMessageDialog(null, "Este número de Ordem de Serviço não esta Cadastrado");
}
} catch (com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException e) {
JOptionPane.showMessageDialog(null, "Campo de variavel numérica, Digitar só Numeros!!");
} catch (Exception e2) {
e2.printStackTrace();
//JOptionPane.showMessageDialog(null, e2);
}
}
// Método para alterar uma Ordem de Serviços
private void alterar_os() {
String sql = "update tblos set tipo=?,situacao=?,equipamento=?,defeito=?,servico=?,tecnico=?,valor=? where numeroos=?";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, tipo);
pst.setString(2, cboOsSit.getSelectedItem().toString());
pst.setString(3, txtOsEquip.getText());
pst.setString(4, txtOsDef.getText());
pst.setString(5, txtOsServ.getText());
pst.setString(6, txtOsTec.getText());
pst.setString(7, txtOsValor.getText().replace(",", "."));
pst.setString(8, txtOs.getText());
// Validadção dos Campos Obrigatórios
if ((txtCliId.getText().isEmpty()) || (txtOsEquip.getText().isEmpty()) || (txtOsDef.getText().isEmpty())) {
JOptionPane.showMessageDialog(null, "Preencha todos os Campos Obrigatórios");
} else {
int adicionado = pst.executeUpdate();
if (adicionado > 0) {
JOptionPane.showMessageDialog(null, "Ordem de Serviço Alterada com Sucesso");
txtOs.setText(null);
txtData.setText(null);
txtCliId.setText(null);
txtOsEquip.setText(null);
txtOsDef.setText(null);
txtOsServ.setText(null);
txtOsTec.setText(null);
txtOsValor.setText(null);
btnOsAdicionar.setEnabled(true);
txtCliPesquisar.setEditable(true);
tblClientes.setVisible(true);
}
}
} catch (Exception e) {
e.printStackTrace();
//JOptionPane.showMessageDialog(null, e);
}
}
Desde ja agradeço ao Fórum.