Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Selecting * from DBgrid

[es] :: Pascal / Delphi / Kylix :: Selecting * from DBgrid

[ Pregleda: 1704 | Odgovora: 6 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

erekoz
John Doe
Beograd

Član broj: 5960
Poruke: 148
*.tvmetropolis.com



Profil

icon Selecting * from DBgrid24.09.2003. u 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
24.09.2003. u 17:37 

bogiboy
Preko bare

Član broj: 14097
Poruke: 9
*.multiactive.com



Profil

icon Re: Selecting * from DBgrid24.09.2003. u 18:44
Iteriraj kroz dataset i dodaj vrednost polja u niz.
24.09.2003. u 18:44 

erekoz
John Doe
Beograd

Član broj: 5960
Poruke: 148
*.tvmetropolis.com



Profil

icon Re: Selecting * from DBgrid24.09.2003. u 19:17

Hajde samo malo detaljnije, molim te...
24.09.2003. u 19:17 

freelancer

Član broj: 11566
Poruke: 268
*.yunord.net.



Profil

icon Re: Selecting * from DBgrid24.09.2003. u 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.
24.09.2003. u 21:15 

byTer

Član broj: 10936
Poruke: 1221
*.ptt.yu

ICQ: 47761626


Profil

icon Re: Selecting * from DBgrid24.09.2003. u 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
24.09.2003. u 22:49 

bogiboy
Preko bare

Član broj: 14097
Poruke: 9
*.multiactive.com



Profil

icon Re: Selecting * from DBgrid07.10.2003. u 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;
07.10.2003. u 00:00 

Nub.Saibot
Srbija/BG

Član broj: 11838
Poruke: 99
*.direcpceu.com



Profil

icon Re: Selecting * from DBgrid07.10.2003. u 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
07.10.2003. u 08:57 

[es] :: Pascal / Delphi / Kylix :: Selecting * from DBgrid

[ Pregleda: 1704 | Odgovora: 6 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.