Olá pessoal,
Estou com um problema que parece ser de simples solução mas minha inteligência não está chegando a tal nível.Observem o código abaixo:
if (dmtIteSel == dmtNivel11)//***INCLUIR Cadastro de Cliente***
{
panCadCli.setVisible(true);
jtfCodCli.setText(""); jtfNomCli.setText("");
jtfFanCli.setText(""); jtfFisJur.setText("");
jtfTipCli.setText(""); jtfEndCli.setText("");
jtfMunCli.setText(""); jtfEstCli.setText("");
jtfBaiCli.setText(""); jtfCEPCli.setText("");
jtfTelCli.setText(""); jtfCPFCli.setText("");
jtfInsCli.setText(""); jtfRGCli.setText("");
jtfConCli.setText(""); jtfFunCli.setText("");
jtfEmaCli.setText("");
jtfCodCli.setEditable(true); jtfNomCli.setEditable(true);
jtfFanCli.setEditable(true); jtfFisJur.setEditable(true);
jtfTipCli.setEditable(true); jtfEndCli.setEditable(true);
jtfMunCli.setEditable(true); jtfEstCli.setEditable(true);
jtfBaiCli.setEditable(true); jtfCEPCli.setEditable(true);
jtfTelCli.setEditable(true); jtfCPFCli.setEditable(true);
jtfInsCli.setEditable(true); jtfRGCli.setEditable(true);
jtfConCli.setEditable(true); jtfFunCli.setEditable(true);
jtfEmaCli.setEditable(true);
jbtConCad = new JButton("Confirmar");
jbtConCad.setMnemonic('C');
ImageIcon OK = new ImageIcon("\\Arq_Projeto\\ok.gif");
jbtConCad.setIcon(OK);
jbtConCad.setBounds(250,350,120,25);
jbtConCad.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
strCodCliInc = jtfCodCli.getText(); strNomCliInc = jtfNomCli.getText();
strFanCliInc = jtfFanCli.getText(); strFisJurInc = jtfFisJur.getText();
strTipCliInc = jtfTipCli.getText(); strEndCliInc = jtfEndCli.getText();
strMunCliInc = jtfMunCli.getText(); strEstCliInc = jtfEstCli.getText();
strBaiCliInc = jtfBaiCli.getText(); strCEPCliInc = jtfCEPCli.getText();
strTelCliInc = jtfTelCli.getText(); strCPFCliInc = jtfCPFCli.getText();
strInsCliInc = jtfInsCli.getText(); strRGCliInc = jtfRGCli.getText();
strConCliInc = jtfConCli.getText(); strFunCliInc = jtfFunCli.getText();
strEmaCliInc = jtfEmaCli.getText();
Conexao con = new Conexao();
PreparedStatement psSQLInc = con.conConect.prepareStatement("SELECT A1_COD FROM A1 WHERE A1_COD =?");
psSQLInc.setString(1,strCodCliInc);
ResultSet ResultadosInc = psSQLInc.executeQuery();
while (ResultadosInc.next())
{
strCodPes = ResultadosInc.getString(1);
};
System.out.println(strCodPes);
ResultadosInc.close();
psSQLInc.close();
if(strCodPes != null)
{
JOptionPane.showMessageDialog(null,"Código já cadastrado!");
jtfCodCli.setText("");
jtfCodCli.grabFocus();
jtfCodCli.setText(""); jtfNomCli.setText("");
jtfFanCli.setText(""); jtfFisJur.setText("");
jtfTipCli.setText(""); jtfEndCli.setText("");
jtfMunCli.setText(""); jtfEstCli.setText("");
jtfBaiCli.setText(""); jtfCEPCli.setText("");
jtfTelCli.setText(""); jtfCPFCli.setText("");
jtfInsCli.setText(""); jtfRGCli.setText("");
jtfConCli.setText(""); jtfFunCli.setText("");
jtfEmaCli.setText("");
panCadCli.setVisible(true);
//ResultadosInc.close();
psSQLInc.close();
}
else
{
psSQLInc = con.conConect.prepareStatement("INSERT INTO A1 VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
psSQLInc.setString(1,strCodCliInc); psSQLInc.setString(2,strNomCliInc);
psSQLInc.setString(3,strFanCliInc); psSQLInc.setString(4,strFisJurInc);
psSQLInc.setString(5,strTipCliInc); psSQLInc.setString(6,strEndCliInc);
psSQLInc.setString(7,strMunCliInc); psSQLInc.setString(8,strEstCliInc);
psSQLInc.setString(9,strBaiCliInc); psSQLInc.setString(10,strCEPCliInc);
psSQLInc.setString(11,strTelCliInc); psSQLInc.setString(12,strCPFCliInc);
psSQLInc.setString(13,strInsCliInc); psSQLInc.setString(14,strRGCliInc);
psSQLInc.setString(15,strConCliInc); psSQLInc.setString(16,strFunCliInc);
psSQLInc.setString(17,strEmaCliInc);
psSQLInc.executeUpdate();
//ResultadosInc.close();
psSQLInc.close();
JOptionPane.showMessageDialog(null,"CADASTRO EFETUADO COM SUCESSO!");
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
//ResultadosInc.close();
psSQLInc.close();
}
catch(Exception ex)
{
System.err.println("Erro no acesso ao banco de dados !");
ex.printStackTrace();
}
}
});
jbtCanCad = new JButton("Cancelar");
jbtCanCad.setMnemonic('l');
ImageIcon icon = new ImageIcon("\\Arq_Projeto\\cancelar.gif");
jbtCanCad.setIcon(icon);
jbtCanCad.setBounds(370,350,120,25);
jbtCanCad.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
});
panCadCli.add(jbtConCad); panCadCli.add(jbtCanCad);
}
if (dmtIteSel == dmtNivel12)//***ALTERAR Cadastro de Cliente***
{
int linSel = jtbPriCli.getSelectedRow();
//System.out.println(linSel);
if (linSel < 0)
{
JOptionPane.showMessageDialog(null,"Por favor selecione um cliente para alterá-lo!");
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
panPriCli.setVisible(true);
}
else
{
panCadCli.setVisible(true);
String strCodPesTeste = jtbPriCli.getValueAt( linSel , 0 ).toString();
try
{
Conexao con = new Conexao();
PreparedStatement psSQL = con.conConect.prepareStatement("SELECT * FROM A1 WHERE A1_COD =?");
psSQL.setString(1,strCodPesTeste);
ResultSet Resultados = psSQL.executeQuery();
while(Resultados.next())//while
{
strCodCli = Resultados.getString(1); strNomCli = Resultados.getString(2);
strFanCli = Resultados.getString(3); strFisJur = Resultados.getString(4);
strTipCli = Resultados.getString(5); strEndCli = Resultados.getString(6);
strMunCli = Resultados.getString(7); strEstCli = Resultados.getString(8);
strBaiCli = Resultados.getString(9); strCEPCli = Resultados.getString(10);
strTelCli = Resultados.getString(11); strCPFCli = Resultados.getString(12);
strInsCli = Resultados.getString(13); strRGCli = Resultados.getString(14);
strConCli = Resultados.getString(15); strFunCli = Resultados.getString(16);
strEmaCli = Resultados.getString(17);
};
Resultados.close();
psSQL.close();
}
catch(Exception ex)
{
System.err.println("Erro no acesso ao banco de dados !");
ex.printStackTrace();
}
jtfCodCli.setText(strCodCli); jtfNomCli.setText(strNomCli);
jtfFanCli.setText(strFanCli); jtfFisJur.setText(strFisJur);
jtfTipCli.setText(strTipCli); jtfEndCli.setText(strEndCli);
jtfMunCli.setText(strMunCli); jtfEstCli.setText(strEstCli);
jtfBaiCli.setText(strBaiCli); jtfCEPCli.setText(strCEPCli);
jtfTelCli.setText(strTelCli); jtfCPFCli.setText(strCPFCli);
jtfInsCli.setText(strInsCli); jtfRGCli.setText(strRGCli);
jtfConCli.setText(strConCli); jtfFunCli.setText(strFunCli);
jtfEmaCli.setText(strEmaCli);
jtfCodCli.setEditable(false); jtfNomCli.setEditable(true);
jtfFanCli.setEditable(true); jtfFisJur.setEditable(true);
jtfTipCli.setEditable(true); jtfEndCli.setEditable(true);
jtfMunCli.setEditable(true); jtfEstCli.setEditable(true);
jtfBaiCli.setEditable(true); jtfCEPCli.setEditable(true);
jtfTelCli.setEditable(true); jtfCPFCli.setEditable(true);
jtfInsCli.setEditable(true); jtfRGCli.setEditable(true);
jtfConCli.setEditable(true); jtfFunCli.setEditable(true);
jtfEmaCli.setEditable(true);
jbtConAlt = new JButton("Confirmar");
jbtConAlt.setMnemonic('C');
ImageIcon iconOK = new ImageIcon("\\Arq_Projeto\\ok.gif");
jbtConAlt.setIcon(iconOK);
jbtConAlt.setBounds(250,350,120,25);
jbtConAlt.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
strCodCli = jtfCodCli.getText(); strNomCli = jtfNomCli.getText();
strFanCli = jtfFanCli.getText(); strFisJur = jtfFisJur.getText();
strTipCli = jtfTipCli.getText(); strEndCli = jtfEndCli.getText();
strMunCli = jtfMunCli.getText(); strEstCli = jtfEstCli.getText();
strBaiCli = jtfBaiCli.getText(); strCEPCli = jtfCEPCli.getText();
strTelCli = jtfTelCli.getText(); strCPFCli = jtfCPFCli.getText();
strInsCli = jtfInsCli.getText(); strRGCli = jtfRGCli.getText();
strConCli = jtfConCli.getText(); strFunCli = jtfFunCli.getText();
strEmaCli = jtfEmaCli.getText();
Conexao con = new Conexao();
PreparedStatement psSQL = con.conConect.prepareStatement("UPDATE A1 SET A1_NOME=?,A1_NREDUZ=?,A1_PESSOA=?,A1_TIPO=?,
A1_END=?,A1_MUN=?,A1_EST=?,A1_BAIRRO=?,A1_CEP=?,
A1_TEL=?,A1_CGC=?,A1_INSCR=?,A1_PFISICA=?,A1_CONTATO=?,
A1_CARGO1=?,A1_EMAIL=? WHERE A1_COD=?");
psSQL.setString(1,strNomCli); psSQL.setString(2,strFanCli);
psSQL.setString(3,strFisJur); psSQL.setString(4,strTipCli);
psSQL.setString(5,strEndCli); psSQL.setString(6,strMunCli);
psSQL.setString(7,strEstCli); psSQL.setString(8,strBaiCli);
psSQL.setString(9,strCEPCli); psSQL.setString(10,strTelCli);
psSQL.setString(11,strCPFCli);psSQL.setString(12,strInsCli);
psSQL.setString(13,strRGCli); psSQL.setString(14,strConCli);
psSQL.setString(15,strFunCli);psSQL.setString(16,strEmaCli);
psSQL.setString(17,strCodCli);
psSQL.executeUpdate();
psSQL.close();
JOptionPane.showMessageDialog(null,"ALTERAÇÃO DE CADASTRO EFETUADA COM SUCESSO!");
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
catch(Exception ex)
{
System.err.println("Erro no acesso ao banco de dados !");
ex.printStackTrace();
}
}
});
jbtCanAlt = new JButton("Cancelar");
jbtCanAlt.setMnemonic('l');
ImageIcon iconCan = new ImageIcon("\\Arq_Projeto\\cancelar.gif");
jbtCanAlt.setIcon(iconCan);
jbtCanAlt.setBounds(370,350,120,25);
jbtCanAlt.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
});
panCadCli.add(jbtConAlt); panCadCli.add(jbtCanAlt);
}
}
Estes são dois ramos de minha árvore, na qual o primeiro insere um cadastro de clientes e o segundo altera o cadastro.
Se eu deixar só o incluir habilitado e tirar o alterar, funciona corretamente, e o mesmo ao contrário, se eu deixar só o alterar, ele tb funciona.
O Problema é o seguinte: Quando deixo os dois juntos no código, se eu incluir um cliente e depois tentar alterar o cadastro de qualquer um, não sei como ele entra dentro do if do Incluir e me dá a mensagen de Código já cadastrado.
Se eu fizer ao contrário, alterar um cadastro pirmeiro, confirmar, e depois tentar incluir um novo cliente, na hora de confirmar, não sei porque motivo e cai na mensagem do alterar e me dá a mensagem de Alteração realizada com sucesso.
Alguém tem idéia do que seja?
Já até mudei os nomes das váriáveis para testar, tentei fechar as conexões em tudo quanto é lugar, as chaves parecem estar corretas...........to ficando loko já huahua.....
Valeu! 8)
