Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Načítanie do labelov pri pohybe po DBGride pomocou ADOQuery

Tak opäť som narazil na problém. Pôvodne som mal údaje v DBGride zobrazené pomocou ADOTable a v udalosti DBGrid3DrawColumnCell som mal asi takýto kód:

If gdSelected in State then begin
HlavnyFormular.TableKontakty.First;
while not HlavnyFormular.TableKontakty.Eof do begin
if TableObjednavky.FieldByName('KontaktyID').AsInteger=TableKontakty.FieldByName('KontaktyID').AsInteger then begin
Label1.Caption:=HlavnyFormular.TableKontakty.FieldByName('NázovSpoločnosti').AsString;
.
.
.
end;
TableKontakty.Next;
end;
 dbgrid3.DefaultDrawColumnCell(Rect, DataCol, Column, State);

Nakoľko som ale mal problémy s mazaním (údaje som síce z tabuľky vymazal ale grid ich stále zobrazoval, nejak zostávali stále v pamäti) tak som sa rozhodol pokúsiť sa údaje do labelov načítavať pomocou ADOQuery a SQL dotazu. A teraz moja otázka ako to zrealizovať? pokúsil som sa nejak takto:
If gdSelected in State then begin
 with ADOQuery4 do
  begin
    Active:=false;
    SQL.Clear;
    SQL.Add('SELECT * FROM Kontakty, Objednavky WHERE Objednavky.KontaktyID=Kontakty.KontaktyID');
    Active:=true;
  end;
   Label1.Caption:=ADOQuery4.FieldByName('NázovSpoločnosti').AsString;
.
.
.

ale vôbec to nemení údaje, pri pohybe po gride. načíta prvý a finiš. Neviem ako zosmoliť ten SQL príkaz aby to načítavalo údaje do tých labelov vždy pri zmene riadku v dbgride.Alebo mám zle aj priraďovanie do labelu?
ďakujem za rady...

edit: v tom prvom prípade bolo súčasťou aj načítavanie do druhého grido pomocou ADOQuery a to mi fungovalo dobre ale pomocou table som nacitaval cislo IDObjednavky, ktoré som potom pouzil na SELECT v SQL príkaze takže mal jasny identifikátor.

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny