Bom Dia Javaneses, neste trecho de codigo eu estou lendo uma tabela e depois com o resultado eu leio a segunda tabela, meu problema eh o seguinte quando chega na linha 30 nao executa nada ate a linha 48 ou melhor ele gera uma excecao na linha 49(java.lang.NullPointerException), como eh que eu faco para executar o bloco try (linha 32 a 46)? Obrigado
01 jt_Codigo = new JTextField();
02 jt_Codigo.addActionListener ( new ActionListener()
03 { public void actionPerformed ( ActionEvent e ) {
04 PreparedStatement st_sb1 = null;
05 try {
06 xCodigo = jt_Codigo.getText().trim();
07 try {
08 st_sb1 = conexao.prepareStatement (" SELECT * FROM SB1010 WHERE B1_COD = '" + xCodigo + "' ");
08 ResultSet rs_sb1 = st_sb1.executeQuery();
10 rs_sb1.next();
11
12 xDescricao = rs_sb1.getString(5);
13 jt_Descricao.setText(xDescricao);
14
15 xPreco = rs_sb1.getFloat(7);
16 sPreco = String.valueOf(xPreco);
17 jt_Preco.setText(sPreco);
18
19 } catch ( Exception x ){
20 JOptionPane.showMessageDialog(C.this, "Codigo Invalido! Digite outro", "", JOptionPane.PLAIN_MESSAGE);
21 jt_Codigo.setText("");
22 jt_Descricao.setText("");
23 jt_Codigo.requestFocus(true);
24 }
25 finally {}
26
27 for ( int i = 1; i <= 5; ++i ) {
28 JOptionPane.showMessageDialog ( C.this, "cheguei aqui 2", "", JOptionPane.PLAIN_MESSAGE);
29 xCodigo = rs_sb1.getString(2);
30 rs_sb1.next();
31 PreparedStatement st_sb2 = null;
32 try {
33 JOptionPane.showMessageDialog ( C.this, "cheguei aqui 3", "", JOptionPane.PLAIN_MESSAGE);
34 st_sb2 = conexao.prepareStatement (" SELECT * FROM SB2010 WHERE B2_COD = '" + xCodigo + "' ");
35 ResultSet rs_sb2 = st_sb2.executeQuery();
36 rs_sb2.next();
37
38 xEstoque1 = rs_sb2.getFloat(3);
39 sEstoque1 = String.valueOf(xEstoque1);
40 jt_Estoque1.setText(sEstoque1);
41
42 rs_sb2.next();
43 xEstoque2 = rs_sb2.getFloat(3);
44 sEstoque2 = String.valueOf(xEstoque2);
45 jt_Estoque2.setText(sEstoque2);
46 } catch ( Exception x ){}
47 finally {}
48 }//for
49 }catch ( Exception x ){}
50 }
51 } );