Gente…estou tendo problemas pra inserir dados em um determinada tabela. JDBC nunca foi meu forte. Alguem poderia analisar meu codigo e me ajudar a achar os erros?
Valeu:
Esse é o método SALVAR q to usando na ACTION:
/**
* Altera os dados do pagamento/fatura/OFF, como a data de validade
*
* @param mapping informacao de mapeamento da requisicao
* @param form o formulario html
* @param request a requisicao http
* @param response a resposta http
*
* @return o retorno para a pagina solicitada
*
* @throws Exception
*/
public ActionForward salvarDadosPagamentoFatura(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
//String retorno = PAGAMENTO_FATURA;
String retorno = SUCCESS;
HttpSession session = request.getSession();
ValidacaoBean validacaoBean = new ValidacaoBean( );
FocoBean focoBean = new FocoBean( "nrDocumento" );
try {
DynaActionForm dForm = (DynaActionForm)form;
String dataPagamentoFormatada = dForm.get( "dataPagamentoFormatada" ).toString();
if( dataPagamentoFormatada == null || dataPagamentoFormatada.trim().equals( "" ) ) {
throw new InvalidException( "comum.mensagem.obrigatorio.data.validade" );
}
UserLoginBean userLoginBean = (UserLoginBean)session.getAttribute("userBean");
ClienteBean cliente = (ClienteBean)session.getAttribute("cliente");
VendedorLoginBean vendedorBean = (VendedorLoginBean)session.getAttribute("vendedorBean");
EmpresaBean empresa=(EmpresaBean)session.getAttribute("empresa");
PagamentoFaturaBean pagamentoFaturaBean = (PagamentoFaturaBean)session.getAttribute("pagamentoFaturaBean");
PagamentoFaturaBC pagamentoFaturaBC=new PagamentoFaturaBC();
pagamentoFaturaBC.salvarDadosPagamentoFatura(userLoginBean,vendedorBean, cliente,pagamentoFaturaBean,
empresa);
}catch( InvalidException e ){
validacaoBean.setMensagem( messageResources.getMessage( e.getMessage(), e.getArgs() ) );
}catch( CommerceException e ){
validacaoBean.setMensagem( e.getMessage() );
}catch( Exception e ){
request.setAttribute( COMMERCE_EXCEPTION, new CommerceException( e.getMessage() ) );
retorno = ERROR;
}
return retornar( mapping, request, validacaoBean, focoBean, retorno );
}
E esse é o método que uso pra inserir no Banco:
/**
* Altera dados do pagamento como a data de validade do mesmo
*
* @param userLoginBean o usuario logado na aplicacao
* @param idEmpresa a empresa do pedido/orcamento
* @param idPedidoVendaMultiplo o ID do pedido/orcamento multiplo
* @param dataValidade a data de validade do pedido/orcamento
*
* @throws CommerceException
*/
public void salvarDadosPagamentoFatura( UserLoginBean userLoginBean,
VendedorLoginBean vendedorBean,ClienteBean cliente,
PagamentoFaturaBean pagamentoFaturaBean,EmpresaBean empresa ) throws CommerceException {
Connection con = null;
PreparedStatement ps = null;
StringBuffer query = new StringBuffer();
query.append( "INSERT INTO PAGTO_TITULOS_OFF (ID_UNN, ID_EMP, ID_DIVIDA, DT_LANCAMENTO, VL_RECEB, ID_CONTA, NR_PDV, ID_OPER, ID_VEN, ID_CLI) " );
query.append( "VALUES( ?, ?, ?,?,?,?, ?, ?,?,? ) " );
try{
con = super.getConnection();
super.closeObjetosConexao( ps );
ps = con.prepareStatement( query.toString() );
ps.setInt( 1, userLoginBean.getUnidadeNegocio() );
ps.setLong(2,empresa.getCodigoEmpresa());
ps.setLong(3,pagamentoFaturaBean.getNrDocumento());
ps.setDate( 4,(java.sql.Date) pagamentoFaturaBean.getDataPagamento());
ps.setDouble(5,pagamentoFaturaBean.getVlPagamento().doubleValue());
ps.setLong(6,pagamentoFaturaBean.getIdConta().longValue());
ps.setLong(7,pagamentoFaturaBean.getNumPDV().longValue());
ps.setLong(8,pagamentoFaturaBean.getIdOperador().longValue());
ps.setInt( 9, vendedorBean.getCodigo() );
ps.setLong(10,cliente.getCodigo());
ps.executeUpdate();
} catch (SQLException e) {
String mensagem = null;
if( e.getErrorCode() == 20001 ){
mensagem = CommerceException.getProcedureMessage( e.getMessage() );
}else {
mensagem = e.getMessage();
}
throw new CommerceException( mensagem, e.getErrorCode() );
} catch (Exception e) {
throw new CommerceException( e.getMessage() );
} finally {
super.closeObjetosConexao( con, ps );
}
}