Olá pessoal do GUJ, estou com um problema que seria trivial (Se estivesse funcionando!!!) :?
tenho um jtable que recebe a listagem de uma tabela no banco de dados mysql, e um botão que salva mais registros no banco em tempo real e exibe na jtable , porem, isso não esta funcionando! Essa estrutura esta estruturada em abas de um jtabbedpane, onde cada aba tem uma jtable mostrando uma tabela do banco, e existe apenas um botão salvar, que de acordo com a aba selecionada executa a inclusão na tabela certa do banco.
Porem ai vem o erro, eu só estou conseguindo incluir na primeira aba, eu ja tenho o codigo que seleciona a aba escolhida mas a operação de inclusão e exclusão nas outras abas não funciona!
Meu codigo está assim.
ver qual aba esta selecionada e executar método correspondente
private void jButtonAdmSalvarActionPerformed(java.awt.event.ActionEvent evt) {
int cadastrode=jTabbedPaneCadastros.getSelectedIndex();
switch (cadastrode){
case 0: if(jTextFieldNome.isEditable() && jTextFieldVisuSenha.isEditable()) SalvaPessoa();
if(jTextFieldVisuSenha.isEditable() && !(jTextFieldNome.isEditable())) AlteraSenha();
break;
case 1: SalvaEquipamento();
break;
case 2: SalvaSecao();
break;
case 3: SalvaAviso();
break;
}
}
os métodos de inclusão…
public void SalvaEquipamento(){
int idsecao = Integer.parseInt(jTextFieldEQSecao.getText());
String cdequipamento = jTextFieldCodEquip.getText();
String funcao = jTextFieldFuncaoEquip.getText();
int ttol = Integer.parseInt(jTextFieldTempTolerancia.getText());
int acessMin = Integer.parseInt(jTextFieldNivelAcessoMinEquip.getText());
boolean valor = eq.insereEquipamento(idsecao,cdequipamento,funcao,acessMin,ttol,1);
boolean hist = ht.insereHistorico(ps.getID(ps.getNome()),"Equipamento","Inclusao de Registro: " + cdequipamento,getData());
int radioV = 1;
if(jRadioButtonEquipAtivo.isSelected()) radioV = 1;
if(jRadioButtonEquipRestrito.isSelected()) radioV = 2;
if(jRadioButtonEquipParado.isSelected()) radioV = 3;
boolean valorEstatus = st.insereStatus((ps.getID(ps.getNome())),(eq.buscaID(cdequipamento)),radioV, getData(), (jTextFieldMotivo.getText()));
AtualizaTabela(getResultsEquipamentos(),jTableEquipamentos);
AtualizaTabela(getEquipamentosAtivos(),jTableEqAtivo);
AtualizaTabela(getEquipamentosRestritos(),jTableEqRestrito);
AtualizaTabela(getEquipamentosParados(),jTableEqParado);
}
public void SalvaSecao(){
String codsecao = jTextFieldCodSecao.getText();
String nomsecao = jTextFieldNomeSecao.getText();
String cidade = jTextFieldCidade.getText();
String unidade = jTextFieldUnidade.getText();
double lat = Double.parseDouble(jTextFieldLat.getText());
double lon = Double.parseDouble(jTextFieldLon.getText());
boolean valor = sc.insereSecao(lat,lon,codsecao,nomsecao,cidade,unidade);
boolean hist = ht.insereHistorico(ps.getID(ps.getNome()),"Seção","Inclusao de Seção: " + codsecao,getData());
AtualizaTabela(getResultsSecoes(),jTableSecao);
}
public void SalvaAviso(){
int secao = Integer.parseInt(jTextFieldAVSecao.getText());
String assunto = jTextFieldAVAssunto.getText();
String data = jTextFieldDataNoticia.getText();
String descricao = jTextPaneEdicaoTexto.getText();
boolean valor = av.insereAviso(secao,assunto,descricao,data);
boolean hist = ht.insereHistorico(ps.getID(ps.getNome()),"Aviso","Inclusao de Aviso: " + descricao,getData());
AtualizaTabela(getResultsAviso(),jTableNoticia);
}
public void SalvaPessoa(){
int idsecao = Integer.parseInt(jTextFieldUSSecao.getText());
int registro = Integer.parseInt(jTextFieldNumRegistro.getText());
String nome = jTextFieldNome.getText();
String cpf = jFormattedTextFieldCPF.getText();
String senha = jTextFieldVisuSenha.getText();
int nivel = Integer.parseInt(jTextFieldNivelAcesso.getText());
int adm = 0;
if(jRadioButtonAdmNAO.isSelected()) adm = 0;
if(jRadioButtonAdmSIM.isSelected()) adm = 1;
boolean valor = ps.inserePessoa(idsecao,registro,nome,cpf,nivel,senha,adm,1);
boolean hist = ht.insereHistorico(ps.getID(ps.getNome()),"Pessoa","Inclusao de Registro: " + nome,getData());
AtualizaTabela(getResultsUsuarios(),jTableUsuarios);
}
e por ultimo os métodos de inclusão de cada classe…
classe Equipamento
public boolean insereEquipamento(int idsecao, String codequipamento, String funcao, int nivelacessomin, int tolerancia, int equipoativo){
try {
sql = "insert into equipamento (id_equipamento, id_secao, codigo_equipamento, funcao, nivel_acesso_min, tolerancia, equipo_ativo)" +
"values ("+ 0 +", "+ idsecao +", "+ codequipamento +", '"+ funcao +"', "+ nivelacessomin +", "+ tolerancia +", "+ equipoativo +");";
int rs = conec.getSt().executeUpdate(sql);
if (rs != 0)
return true;
else
return false;
}catch (Exception ex){
return false;
}
}
classe status
public boolean insereStatus(int idpessoa, int idequip, int sts,String dt, String desc){
try{
sql = "insert into status (id_status, id_pessoa, id_equipamento, status, data_hora_alt, descricao)" +
"values (null, "+ idpessoa +", "+ idequip +", "+ sts +", "+ dt +" , '"+ desc +"');";
int rs = conec.getSt().executeUpdate(sql);
if (rs != 0)
return true;
else
return false;
}catch (Exception ex){
return false;
}
}
classe aviso
public boolean insereAviso(int idsecao, String assunto, String descraviso, String dataaviso){
try {
sql = "insert into aviso (id_aviso, id_secao, descr_aviso, data, assunto)" +
"values (" + 0 + "," + idsecao + ",'" + descraviso + "', '" + dataaviso + "', '" + assunto + "');";
int rs = conec.getSt().executeUpdate(sql);
if (rs != 0){
return true;
}else
return false;
}catch (Exception ex){
ex.printStackTrace();
return false;
}
}
classe secao
public boolean insereSecao(double latitude, double longitude, String codigo_secao, String nome_secao, String cidade, String nome_unidade){
try {
sql = " insert into secao (id_secao, codigo_secao, nome_secao, cidade, nome_unidade, latitude, longitude)" +
" values (" + 0 + ",'" + codigo_secao + "','" + nome_secao + "','" + cidade + "','" + nome_unidade + "'," + latitude + "," + longitude + ");";
int rs = conec.getSt().executeUpdate(sql);
if (rs != 0)
return true;
else
return false;
}catch (Exception ex){
return false;
}
}
classe historico
public boolean insereHistorico(int idpessoa, String nometabela, String alteracao, String datahistorico){
try {
sql = "insert into historico (id_historico, id_pessoa, nome_tabela, alteracao, data)" +
"values (" + 0 + ", " + idpessoa + ",'" + nometabela + "', '" + alteracao + "', '" + datahistorico + "');";
int rs = conec.getSt().executeUpdate(sql);
if (rs != 0){
return true;
}else
return false;
}catch (Exception ex){
ex.printStackTrace();
return false;
}
}
e por ultimo, o método da última classe que esta funcionando, a classe pessoa
public boolean inserePessoa(int idsecao, int registro, String nomepessoa, String cpf, int nivelacesso, String senha, int adm, int pessoaativa){
try {
sql = "insert into pessoa (id_pessoa, id_secao, registro, nome_pessoa, cpf, nivel_acesso, senha, adm, pessoa_ativa)" +
"values (" + 0 + ", " + idsecao + ", " + registro + ", '" + nomepessoa + "', '" + cpf + "', " + nivelacesso + ", '" + senha + "', " + adm + ", " + pessoaativa + ");";
int rs = conec.getSt().executeUpdate(sql);
if (rs != 0){
return true;
}else
return false;
}catch (Exception ex){
ex.printStackTrace();
return false;
}
}
Eu não consigo achar o erro, sempre da NullPointerException, mas pra mim está tudo correto!
outra coisa chata é que se eu tento incluir um registro na tabela historico ao mesmo tempo que na tabela pessoa, da o mesmo erro, mas se não fizer isso , a inclusão acontece normalmente! o engraçado é que com as outras tabelas, nenhum registro é incluido!!!
Estou usando o NetBeans 5.5.1 pra programar