Folks,
porque me dá erro na hora de substituir a data no comando SQL.
na linha pst.setString(2, dataEmissao);
se alguém puder me ajudar …agradeceria…
abs
erro:
leNotaFiscalCancelada =java.sql.SQLException: ORA-01006: a variável de ligação não existe
public NFe leCancelada (long notaFiscal,String dataEmissao) throws SQLException{
Connection conn = ServiceLocator.getInstance().getConnection();;
ResultSet rs = null;
ResultSet rs1 = null;
PreparedStatement pst =null;
StringBuilder sql = new StringBuilder("");
sql= leSQL("notaCancelada");
pst = conn.prepareStatement(sql.toString());
pst.setLong(1, notaFiscal);
pst.setString(2, dataEmissao);
rs = pst.executeQuery();
--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 xxx, ");
sql.append("\n yyy , ");
sql.append("\n kkk geral, ");
sql.append("\n tbbbb 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 = to_date('?','ddmmyyyy')");
sql.append("\n and nf_comple_unica.FL_CANCELADO =1");
}