Dúvidas com Struts

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;
	}

É… 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. :slight_smile: 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.