24-05-2019, Saat: 11:07
SELECT public.get_grup_maliyet_analiz( array['AAA', 'BBB', 'CCC', 'DDD', 'EEE'] );
Yukarı şekilde stored procedure kodunu postgreSQL veri tavanında pgAdmin üzerinden çalıştırdığımda sorunsuz olarak sonucu alıyorum.
Fakat aşağıdaki kod ile Zeos bileşen setindeki TZStoredProc ile yukarıdaki kodu çağırıyorum ve doğru sonucu alıyorum. En azından dönen satır sayısı doğru fakat bu bilgileri bir string grid üzerinde göstermek istediğimde ise sürekli ilk satırın bilgisini alıyorum.
FirstResultSet NextResultSet EOR //(End of Result Set) Boolean bilgileri var.
Bunları da denedim yanlış yapmadıysam bu bilgilerle de olmadı.
sp := TZStoredProc.Create(nil); try sp.Name := 'spGrupMaliyetAnaliz'; sp.Active := False; sp.Connection := m_table.Database.Connection; sp.StoredProcName := 'public.get_grup_maliyet_analiz'; sp.Prepare; sp.ParamByName('precete_adi_list').Value := arrayList; sp.Open; sp.First; while not sp.Eof do begin //burada grid dolduruyorum. sp.Next; end; sp.Close; finally sp.Free; end;
Mesela çalıştırdığım örnekte 14 tane bilgi gönderiyorum dönmesi gereken kayıt sayısı da 14 olması gerekiyor. Debug ile sp.FetchCount bilgisine baktığımda 14 olarak geliyor.
Bu şekilde bir stored procedure uygulama örneği yapan oldu mu?
PostgreSQL - Linux - Delphi, Poliüretan