Jalison
#1
Seguinte galera,
Está dando o seguinte erro ao executar uma rotina do meu sistema.
O erro ocorre quando clico no botão que executa essa código:
String dataemiss = "curdate()"; //curdate() é uma função do MySql que pega a data corrente.
String datavenc = "curdate()";
String origem = "V";
if (possuiReceberField.isSelected()) {
JOptionPane.showMessageDialog(null, "A venda já possui um Receber!", "Gerar Contas a Receber", JOptionPane.INFORMATION_MESSAGE);
} else {
int opcao_escolhida = JOptionPane.showConfirmDialog(null, "Deseja realmente Gerar o Receber?", "Gerar Contas a Receber", JOptionPane.YES_NO_OPTION);
if (opcao_escolhida == JOptionPane.YES_OPTION) {
try {
String sqlinsert = "insert into receber (ALUID, RECDATAEMIS, RECDATAVENC, RECVALOR, RECORIGEM, RECOBS) values ('" +
aluidField.getText() + "','" +
dataemiss + "','" +
datavenc + "','" +
vendavltotalField.getText() + "','" +
origem + "','" +
vendidField.getText() + "')";
conectaReceber.statement.executeUpdate(sqlinsert);
JOptionPane.showMessageDialog(null, "Receber Gerado com sucesso.", "Gerar Contas a Receber", JOptionPane.INFORMATION_MESSAGE);
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Erro ao Gerar o Receber. Erro: " + erro, "Gerar Contas a Receber", JOptionPane.ERROR_MESSAGE);
}
}
}
Desde já, muito obrigado pela ajuda.
Qual é a linha 795?
Alguma coisa que não deveria está com referência null.
Coloca o codigo da classe [color=red]VendaProdutoView[/color] para a gente averiguar.
Jalison
#4
[quote=Eric Yuzo]Qual é a linha 795?
Alguma coisa que não deveria está com referência null.[/quote]
Eric,
A linha 795 é esta:
conectaReceber.statement.executeUpdate(sqlinsert);
As variáveis “conectaReceber” ou “statement” devem estar nulas. Verifique se elas foram inicializadas antes de executar este método.
Jalison
#6
Henrique, este é o código da classe,
import java.awt.event.KeyEvent;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import utilitarios.conexao;
import utilitarios.FormataTextString;
import utilitarios.FixedLengthDocument;
public class VendaProdutoView extends javax.swing.JFrame {
conexao conectaAluno, conectaProduto, conectaVenda, conectaVendaItem,
conectaVendaID, conectaReceber;
int navega = 0;
boolean primeiraVezAluno = true, primeiraVezProduto = true;
int qtdestoquetinha = 0, qtdrow = 0, row = 0;
String dataemiss = "curdate()";
String datavenc = "curdate()";
String origem = "V";
@SuppressWarnings("OverridableMethodCallInConstructor")
public VendaProdutoView() {
initComponents();
conectaAluno = new conexao();
conectaAluno.conecta();
conectaAluno.executaSQL("select * from aluno order by alunome");
conectaProduto = new conexao();
conectaProduto.conecta();
conectaProduto.executaSQL("select * from produto where prodsituacao = 'S' order by proddescricao");
conectaVenda = new conexao();
conectaVenda.conecta();
conectaVenda.executaSQL("select * from venda");
conectaVendaItem = new conexao();
conectaVendaItem.conecta();
conectaVendaItem.executaSQL("select * from vendaitem");
conectaVendaID = new conexao();
conectaVendaID.conecta();
conectaVendaID.executaSQL("select MAX((VENDID)+1) as VENDID from venda");
conectaReceber = new conexao();
conectaReceber.conecta();
try {
while (conectaAluno.resultset.next()) {
alunomeField.addItem(conectaAluno.resultset.getString("ALUNOME"));
}
while (conectaProduto.resultset.next()) {
proddescricaoField.addItem(conectaProduto.resultset.getString("PRODDESCRICAO"));
}
conectaVenda.resultset.first();
conectaVendaItem.resultset.first();
mostraDados();
} catch (SQLException erro) {
JOptionPane.showMessageDialog(null, "Não há dados cadastrados!", "Sem dados", JOptionPane.INFORMATION_MESSAGE);
}
preencher_jtableItemProdu();
}
Jalison
#7
Valeu Eric,
Havia esquecido da seguinte linha:
conectaReceber.executaSQL("select * from receber");
Valeu pela ajuda cara, abraço.