[ erekoz @ 24.09.2003. 17:37 ] @
Pozdrav svima, Kako u kodu izaberem sve sto iz baze ucitam u DBgrid? Npr, ako ucitam gomilu integera u dBgrid, kako bih mogao da ih izvucem u niz? Unapred zhvalan, erekoz |
[ erekoz @ 24.09.2003. 17:37 ] @
[ bogiboy @ 24.09.2003. 18:44 ] @
Iteriraj kroz dataset i dodaj vrednost polja u niz.
[ erekoz @ 24.09.2003. 19:17 ] @
Hajde samo malo detaljnije, molim te... [ freelancer @ 24.09.2003. 21:15 ] @
Podatke mozes direktno da ocitavas iz DataSeta npr. na sledeci nacin:
Code: DBGrid.DataSource.DataSet.Fields[x].Text U svakom slucaj potrazi u helpu TDataSet za sve property-je i metode. [ byTer @ 24.09.2003. 22:49 ] @
Ili probaj jednostavno iz Data Seta (posto sa dbgridom moze da bude malo komplikovanije).
Pustis petlju repeat code za pravljenje niza until RS.EOF [ bogiboy @ 07.10.2003. 00:00 ] @
Ako trebas da pokupis integere iz recordseta mozes sa TStringList
procedure GetFieldsToArray(rst:TDataSet;fld:TField):TStringList; var lst:TStringList; begin if not rst.Active then rst.active := True; if not rst.FindField(fld) then exit; lst := TStringList.Create; rst.First; while not rst.EOF do begin lst.Add(rst.FieldByName(fld.FieldName).AsString); rst.Next; end; result := lst; end; a mozes i da kreiras niz umesto lst var arr : array of Integer; iCount, i :Integer; begin iCount := rst.RecordCount; SetLength(arr,iCount); for i := 0 to iCount-1 do begin arr := rst.FieldByname(fld.Name).AsInteger; rst.Next; end; [ Nub.Saibot @ 07.10.2003. 08:57 ] @
Citat: bogiboy: a mozes i da kreiras niz umesto lst var arr : array of Integer; iCount, i :Integer; begin iCount := rst.RecordCount; SetLength(arr,iCount); for i := 0 to iCount-1 do begin arr := rst.FieldByname(fld.Name).AsInteger; rst.Next; end; Nije moguce kod svih baza raditi sa RecordCount posto on kod nekih (za Interbase znam sigurno) ne vraca ukupan broj redova vec samo koliko je trenutno povuceno iz baze, a to je kod upita sa vecim rezultatom uvek manje od ukupnog broja redova. P.S. Znam da je bogiboy ovo naveo samo kao primer, ali za svaki slucaj :) Pozdrav Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|