Błąd zapytania select.

Błąd zapytania select.
AM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

Cześć. Podpowie ktoś co jest nie tak w poniższej procedurze, że wywala taki błąd ?

SQLQuery1 : Field not found : "SumaArt".

Błąd pojawia się nie za każdym wywołaniem procedury.
Przy bezpośrednim zapytaniu do bazy z poziomu IBExpert jest OK.

Kopiuj
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('select count(id) as SumaArt from wydatki_grupy where id>0');
SQLQuery1.Open;
SumaArt:=SQLQuery1.FieldByName('SumaArt').AsInteger;
SetLength(Form1.WydatkiGrupy,SumaArt);
Form1.SQLQuery1.Close;
GS
  • Rejestracja: dni
  • Ostatnio: dni
2

jeśli czyścisz zapytanie ... SQLQuery1.SQL.Clear;
to można sądzić że wcześniej SQLQuery1 było użyte z innym zapytaniem, dlatego dodał bym na samym początku

Kopiuj
SQLQuery1.close;
AM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 64
0

Dzięki. W Delphi nie trzeba było zamykać poleceniem Close. Pewnie domyślnie po wykonaniu było zamykane. W Lazarusie trzeba to fizycznie zapisać.

GS
  • Rejestracja: dni
  • Ostatnio: dni
0

"W Delphi nie trzeba było zamykać poleceniem Close" ....

Ani Delphi ani Lazarus (Free Pascal) nie zamyka query. Zamknięcie datasetu po zmianie zapytania, albo brak takiego zamknięcia, jest tylko i wyłącznie właściwością zastosowanego bazodanowego komponentu

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.