Resultado dos System.out
squery: INSERT INTO tblDEALER_FUSAO (nidregiao,sidagentevenda,pdv_filho) VALUES (?,?,?)
Regiao: 1
Filho: 20402
Pai: 32000
sqlException: java.sql.SQLException: ORA-01008: not all variables bound
CadPDVFusaoDAO: Fechando conexão.
Senhores,
Vcs preferem q eu dê um post de todo o método?
Acho q vai ajudar vcs a me ajudar.
Fabio, fiz daquelas duas maneiras que vc falou, mas deu aquele exception q postei na mensagem anterior.
DAO:
public boolean associar(CadPDVFusaoForm pdvFusaoForm) throws IOException{
try{
System.out.println("CadPDVFusaoDAO: Entrou CadPDVFusaoDAO Associar.");
System.out.println(Utilitario.USUARIO);
System.out.println(getUtilitarioDAO().getdataHora());
System.out.println("CadPDVFusaoDAO: Antes da conexao.");
Connection con = getConnection();
int linhas = 0;
//Exclui os PDV´s da Tabela tblDEALER_FUSAO
/*pstm = con.prepareStatement(" DELETE FROM tblDEALER_FUSAO " +
" WHERE nidaregiao = '" + pdvFusaoForm.getRegiao() + "'" +
" AND pdv_filho = '" + pdvFusaoForm.getCodPDVFilho() + "'" +
" AND sidagentevenda = '" + pdvFusaoForm.getCodPDVPai() + "'");*/
String sql = " DELETE FROM tblDEALER_FUSAO " +
" WHERE nidregiao = '" + pdvFusaoForm.getRegiao() + "'" +
" AND pdv_filho = '" + pdvFusaoForm.getCodPDVFilho() + "'" +
" AND sidagentevenda = '" + pdvFusaoForm.getCodPDVPai() + "'";
System.out.println("CadPDVFusaoDAO: Antes da query de Exclusão");
pstm = con.prepareStatement(sql);
System.out.println("SQL: " + sql);
System.out.println("Regiao: " + pdvFusaoForm.getRegiao());
System.out.println("Filho: " + pdvFusaoForm.getCodPDVFilho());
System.out.println("Pai: " + pdvFusaoForm.getCodPDVPai());
linhas = pstm.executeUpdate();
System.out.println("CadPDVFusaoDAO: Excluiu " + linhas + " linha.");
//Insere os PDV´s na tabela tblDEALER_FUSAO
String squery = " INSERT INTO tblDEALER_FUSAO" +
" (nidregiao,sidagentevenda,pdv_filho) " +
" VALUES (?,?,?)";
pstm = con.prepareStatement(squery);
System.out.println("squery: " + squery);
System.out.println("Regiao: " + pdvFusaoForm.getRegiao());
System.out.println("Filho: " + pdvFusaoForm.getCodPDVFilho());
System.out.println("Pai: " + pdvFusaoForm.getCodPDVPai());
int regiao = ( pdvFusaoForm.getRegiao() == null || "".equals( pdvFusaoForm.getRegiao().trim() ) ? 0 :
Integer.parseInt(pdvFusaoForm.getRegiao().trim()));
pstm.setInt(1, regiao);
int pdvFilho = ( pdvFusaoForm.getCodPDVFilho() == null || "".equals( pdvFusaoForm.getCodPDVFilho().trim() ) ? 0 :
Integer.parseInt(pdvFusaoForm.getCodPDVFilho().trim()));
pstm.setInt(1, pdvFilho);
int pdvPai = ( pdvFusaoForm.getCodPDVPai() == null || "".equals( pdvFusaoForm.getCodPDVPai().trim() ) ? 0 :
Integer.parseInt(pdvFusaoForm.getCodPDVPai().trim()));
pstm.setInt(1, pdvPai);
/*
String regiao = pdvFusaoForm.getRegiao();
if(regiao == null || "".equals(regiao.trim())){
pstm.setInt(1, 0);
}else{
pstm.setInt(1, Integer.parseInt(regiao));
}
String pdvfilho = pdvFusaoForm.getCodPDVFilho();
if (pdvfilho == null || "".equals(pdvfilho.trim())){
pstm.setInt(1, 0);
}else{
pstm.setInt(2, Integer.parseInt(pdvfilho));
}
String pdvpai = pdvFusaoForm.getCodPDVPai();
if (pdvpai == null || "".equals(pdvpai.trim())){
pstm.setInt(3, 0);
}else{
pstm.setInt(2, Integer.parseInt(pdvpai));
}*/
/*
if(pdvFusaoForm.getRegiao() == null || pdvFusaoForm.getRegiao().equals("")){
pstm.setInt(1, 0);
}else{
pstm.setInt(1, Integer.parseInt(pdvFusaoForm.getRegiao()));
}
if(pdvFusaoForm.getCodPDVFilho() == null || pdvFusaoForm.getCodPDVFilho().equals("")){
pstm.setInt(2, 0);
}else{
pstm.setInt(2, Integer.parseInt(pdvFusaoForm.getCodPDVFilho()));
}
if(pdvFusaoForm.getCodPDVPai() == null || pdvFusaoForm.getCodPDVPai().equals("")){
pstm.setInt(3, 0);
}else{
pstm.setInt(3, Integer.parseInt(pdvFusaoForm.getCodPDVPai()));
}*/
linhas = pstm.executeUpdate();
System.out.println("Inseriu " + linhas + " linha.");
//Atualiza o Código do Pai na Tabela tblAGENTECANALVENDA
pstm = con.prepareStatement(" UPDATE tblAGENTECANALVENDA " +
" SET CODIGO_UNIFICADO = ? " +
" WHERE NIDREGIAO = ? " +
" AND sidagentevenda = ? ");
pstm.setInt(1, Integer.parseInt(pdvFusaoForm.getCodRedePai()));
pstm.setInt(2, Integer.parseInt(pdvFusaoForm.getRegiao()));
pstm.setInt(3, Integer.parseInt(pdvFusaoForm.getCodPDVPai()));
linhas = pstm.executeUpdate();
System.out.println("Atualizou codigo unificado" + linhas + " linha.");
//Atualiza o Código do Filho na Tabela tblAGENTECANALVENDA
pstm = con.prepareStatement(" UPDATE tblAGENTECANALVENDA " +
" SET pdv_filho = ? " +
" WHERE NIDREGIAO = ? " +
" AND sidagentevenda = ? ");
pstm.setInt(1, Integer.parseInt(pdvFusaoForm.getCodPDVFilho()));
pstm.setInt(2, Integer.parseInt(pdvFusaoForm.getRegiao()));
pstm.setInt(3, Integer.parseInt(pdvFusaoForm.getCodPDVPai()));
linhas = pstm.executeUpdate();
System.out.println("Atualizou pdv_filho " + linhas + " linha.");
}catch(SQLException sqlException){
System.out.println("sqlException: "+ sqlException);
}catch(Exception e){
System.out.println("Exception: "+ e);
}finally{
System.out.println("CadPDVFusaoDAO: Fechando conexão.");
rsClose();
pstmClose();
close(con);
}
return true;
}
fiaux
Maio 13, 2008, 10:19am
#23
É… o copy paste te matou. A exception quer dizer que algum dos “?” não possui valor associado. Olha seus pstm.setInt. Todos 1!!
[code] int regiao = ( pdvFusaoForm.getRegiao() == null || “”.equals( pdvFusaoForm.getRegiao().trim() ) ? 0 :
Integer.parseInt(pdvFusaoForm.getRegiao().trim()));
pstm.setInt(1, regiao);
int pdvFilho = ( pdvFusaoForm.getCodPDVFilho() == null || "".equals( pdvFusaoForm.getCodPDVFilho().trim() ) ? 0 :
Integer.parseInt(pdvFusaoForm.getCodPDVFilho().trim()));
pstm.setInt(1, pdvFilho);
int pdvPai = ( pdvFusaoForm.getCodPDVPai() == null || "".equals( pdvFusaoForm.getCodPDVPai().trim() ) ? 0 :
Integer.parseInt(pdvFusaoForm.getCodPDVPai().trim()));
pstm.setInt(1, pdvPai); [/code]
E as demais variáveis? São três (?,?,?).
Pronto, resolvido neh. Vou almoçar. Flws!
Realamente o copy paste me matou.
Chega ser engraçado essa parada.
Agora voltou para o erro antigo: Exception: java.lang.NumberFormatException: For input string: “”
Agora alterei as numerações.
São só 3 variáveis.
Deve ser uma bobeira esse erro.
Obrigado.