Folks,
porque me dá erro na hora de substituir a data no comando SQL.
pst.setString(2, dataTodate);
se alguém puder me ajudar …agradeceria…
abs
erro:
java.sql.SQLException: ORA-01858: foi localizado um caractere não-numérico onde se esperava um numérico
public NFe leNotaFiscalCancelada (long notaFiscal,String dataEmissao) throws SQLException{
NFe n = null;
try {
Connection conn = ServiceLocator.getInstance().getConnection();;
ResultSet rs = null;
ResultSet rs1 = null;
PreparedStatement pst =null;
StringBuilder sql = new StringBuilder("");
String dataTodate ="to_date('"+dataEmissao+"','ddmmyyyy')" ;
sql= leSQL("notaCancelada");
pst = conn.prepareStatement(sql.toString());
pst.setLong(1, notaFiscal);
pst.setString(2, dataTodate);
rs = pst.executeQuery();
while(rs.next()){
....
}
}catch(Exception e){
System.out.println("Erro NFeDAO leNotaFiscalCancelada ="+e);
e.printStackTrace();
}
--metodo
private StringBuilder leSQL(String chave){
if (chave.equals("notaCancelada")){
sql.append("\n select '55' mod , ");
sql.append("\n nvl(nota.NR_SERIE_NF,'1') serie , ");
sql.append("\n nota.NR_NF nNF , ");
sql.append("\n to_char(nota.DT_EMISSAO,'YYYY-MM-DD') dEmi, ");
sql.append("\n filialemit.nr_cnpj CNPJ , ");
sql.append("\n nvl(geral.SG_ESTADO,';;') UF ");
sql.append("\n from tb_nf nota, ");
sql.append("\n tb_filial filialemit , ");
sql.append("\n tb_endereco_geral geral, ");
sql.append("\n tb_nf_comple_unica nf_comple_unica ");
sql.append("\n where nota.CD_TRANSACAO_CLIENTE =18 --TRANSF. MERC. DEPOSITO/FILIAL");
sql.append("\n and nota.CD_FILIAL = filialemit.CD_FILIAL");
sql.append("\n and geral.CD_FILIAL = nota.CD_FILIAL");
sql.append("\n and nf_comple_unica.ID_NF = nota.ID_NF");
sql.append("\n and nota.nr_nf = ?");
sql.append("\n and nota.dt_emissao = ?");
sql.append("\n and nf_comple_unica.FL_CANCELADO =1");
}