Błąd zapytania select.

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.

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;
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

SQLQuery1.close;
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ć.

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

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