Mam za zadanie stworzenie programu na zajecia. Zawiesilem sie. Podczas dodawania do bazy (firebird) jedna z kolumn jest typu small integer wiec po pobraniu informacji z RadioGroup (indeks) zapisuje go do bazy. Problem jest taki, że przy wyswietlaniu informacji w dbgridzie w tej kolumnie ma wyswietlac sie string odpowiadajacy itemom z radiogroupa.
Na przykładzie - zasilenie tej kolumny w bazie:
SQL_WLAD_D.SQL.Text:='insert into WLADAJACY (NAZWA, TYP_WLADANIA) values (:nazwa4, :typ)';
SQL_WLAD_D.ParamByName('nazwa4').AsString:=Edit5.text;
SQL_WLAD_D.ParamByName('typ').AsInteger:=RadioGroup1.ItemIndex;
Kolejnym indeksom odpowiada 0 - wlasciciel, 1 - wspolwlasciciel, 2 -uzytkownik wieczysty i w takiej postac Stringa ma sie wyswietlic w dbgridzie...
Odpada stworzenie dodatkowej kolumny w bazie - bedzie to traktowane jako powielanie danych.
Napisalem cos takiego:
i:integer;
begin
for i:=0 to 2 do
if SQL_WLAD.FieldByName('Typ_Wladania').AsInteger = i then
SQL_WLAD.FieldByName('Typ').AsString := RadioGroup1.Items[i];
end;
ale nie wiem co z tym kodem zrobic zeby moj dbgrid zobaczyl 'Typ' jako kolumne do wyboru... <--w ten sposob sie bawilem gdy mialem np kolumny dlugosc, szerokosc a wyswietlalem w dgbridzie pole - korzystalem z SQLQuery zdarzenie OnCalcFields i wszystko tralało... a z tym nie wiem co zrobic.
prosze o pomoc
dodanie znaczników <code class="delphi">
- @furious programming