TSQLStoredProc – poprawnie pobiera dane tylko za pierwszym razem

0

Witam,
Krótkie pytanie, czy ktoś może mi popowiedzieć co robię źle ?

Mam bazę na Oracle 10g, korzystam poprzez dbexpoda40.dll z dostępu do bazy na Delphi 2007. Używając kontrolki standardowej TSQLStoredProc za pierszym razem pobiera poprawnie dane. Za drugim razem już nie: (DM - DataModule)...

begin 
  DM.oTSQLStoreProc.StoredProcName := 'Procka'; 
  DM.oTSQLStoreProc.Params[0] := id;
  DM.oTSQLStoreProc.ExecProc;    ///   1 uruchomienie działa poprawnie - każde kolejne pomięta pierwsze uruchomienie.
  coś tam robi...

  DM.oTSQLStoreProc.Close;
end;
0

jeśli SP zwraca kursor to otwarcie powinno następować przez Open albo Active := True a nie ExecProc. Poza tym co znaczy każde kolejne pomięta pierwsze uruchomienie.

0

To znaczy, że pamięta tę samą zawartość - która jest zwrócona po pierwszym uruchomieniu...

ani metoda Open ani Active := true / false; nie działa. Dalej mam w kursorze wynik pierwszego wywołania. W jaki sposób można wyczyścić ten wcześniejszy Kursor SP ?

0

ani metoda Open ani Active := true / false; nie działa.
co znaczy nie działa ?? może w zły sposób odczytujesz sam wynik ??
pokaż kod odczytujący dane, może w nim jest problem

0

i znalazłem gada - procedura ma kilka parametrów - jak którykolwiek z wcześniej ustawionych nie zostanie wyzerowany a po drodze procedura ma kilka wariantów uruchomienia, to dlatego zwraca smród a nie to co trzeba...

1 użytkowników online, w tym zalogowanych: 0, gości: 1