I have written quite large project witch uses IBDAC. My previous compilation (the last that works) was done with IBDAC version 5.2.5. Now I updated version to the newest 5.3.7, compiled my project without changing anything and found surprising errors.
My application brakes down with error message EIBC Error - "Invalid statement handle" somewhere in the application code on simple, stupid select.
Code: Select all
select null id_promocja,'Brak' nazwa_promocji,null obowiazuje_od,null obowiazuje_do,null id_promocja_typ from rdb$database
union all
select distinct * from
(
select p.id_promocja, p.nazwa_promocji, p.obowiazuje_od, p.obowiazuje_do, p.id_promocja_typ
from promocja p
where p.id_kraj=:id_kraj and :DATA_WYSYLKI_OCZEKIWANA between p.obowiazuje_od and p.obowiazuje_do
union all
select p.id_promocja, p.nazwa_promocji, p.obowiazuje_od, p.obowiazuje_do, p.id_promocja_typ
from promocja p
where p.id_promocja=:id_promocja
)
order by 2
:ID_KRAJ(VARCHAR[0],IN)=<NULL>
:DATA_WYSYLKI_OCZEKIWANA(DATE,IN)=<NULL>
:ID_PROMOCJA(INTEGER,IN)=<NULL>
Code: Select all
select r.id_reklama, t.tytul_nazwa, r.kod, r.data_wydania, r.data_waznosci,
case when current_date between r.data_wydania and r.data_waznosci then 1
else 0
end obowiazujaca
from reklama r
left join tytuly t on t.id_tytuly=r.id_tytuly
where (r.id_kraj = :id_kraj and :DATA_ZAMOWIENIA between r.data_wydania and r.data_waznosci)or(r.id_reklama = :ID_REKLAMA)
order by r.kod
:ID_KRAJ(VARCHAR[2],IN)='PL'
:DATA_ZAMOWIENIA(DATE,IN)=2014-05-06
:ID_REKLAMA(INTEGER,IN)=205
My computer is Win 7 pro 64 (I tried application also on Win 7 pro x86 and on another Win 7 pro x64). My Delphi is XE2. Firebird server is 2.5.2. My client library is 2.5.2.26540.
Could you please help me with finding reason and solution?