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

DBGrid, kako da shetam kroz njega?

[es] :: Pascal / Delphi / Kylix :: DBGrid, kako da shetam kroz njega?

[ Pregleda: 2679 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon DBGrid, kako da shetam kroz njega?25.03.2006. u 19:31 - pre 219 meseci
DakleM, kad ucitam podatke u DBGrid (nije bitno kako ih ucitavam - preko kog DB engine-a) - kako da prodjem kroz sve redove tog DBGrid-a (trazio sam Rows ili tako neki property ali osim SelectedRows nisam nasao nista)? Molio bih za parce koda ako je moguce. U PHP-u je ovo mnogo lako zato sto u PHP-u imam while petlju koja mi u svakom "krugu" vraca po jedan red sa rezultatima kao array u kojem je svaka kolona jedan element array-a (asocijativni array). Naravno u PHP-u je moguce uzeti samo odredjeni red rezultata, pa me ovo zanima i u Delphi-ju.
Takodje, da li ima neki non-visual nacin pristupanja podacima iz baze ili ce morati DBGrid1.Visible:=false; (ako uopste ima taj property, nisam gledao)?

Hvala unapred
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: DBGrid, kako da shetam kroz njega?25.03.2006. u 20:12 - pre 219 meseci
Pa i ovde imas i While i Repeat i For petlje . Ne znam da li sam dobro razumeo sta te muci, ali ako jesam ovo ti treba:

Code:
ADOQuery1.First //cisto da budes siguran da ides od pocetka, ako si nesto pre ovoga radio sa ADOQuery-em

while not ADOQuery1.eof do
begin
  //uradi nesto sa podacima
  ADOQuery1.Next;
end;


Isto je i ako radis sa ADOTable komponentom ili sa komponentama iz BDE palete i sl.

[Ovu poruku je menjao Strog dana 25.03.2006. u 21:13 GMT+1]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: DBGrid, kako da shetam kroz njega?26.03.2006. u 11:31 - pre 219 meseci
OK, pokazao si mi kako da prodjem kroz rezultate, ali ja i dalje ne znam kako da ih izvuchem, odnosno sta ide umesto //uradi nesto sa podacima ?

Poceo sam da se zezam sa AbsoluteDatabase-om, on ne zahteva nikakav server vec sve ugradjuje u aplikaciju. Kad njega skontam nadam se da cu moci da skontam i rad sa npr. MySQL-om u Delphi-ju. Ali ovo nije diskusija o tome tako da - evo koda:

Recimo da imam tabelu (employee) sa 2 polja (firstname, lastname)... hocu da u showmessage prikazem ime i prezime svakog radnika:
Code:

var ime,prezime:string;
begin
//ovo cita podatke iz baze (i ubaci ih u dbgrid ako tako podesim)
ABSQuery1.Close;
ABSQuery1.RequestLive:=true; //ovo sam video u demo-u, nemam pojma za sta sluzi
ABSQuery1.SQL.Text:='SELECT * FROM employee';
ABSQuery1.Open;

//ovo je tvoj kod, sa ctrl+space sam video da ovaj absquery podrzava i first i eof i next :) ali... sta izmedju???
ABSQuery1.First;
while ABSQuery1.Eof do begin
ime:=-- STA OVDE --
prezime:=-- STA OVDE --
showmessage(ime+' '+prezime);
ABSQuery1.Next;
end;

end;


Verujem da je ovo ekstra lako, al' sta cu kad mi u mozgu zapisano nesto ovako:
Code:
$sql = mysql_query('SELECT * FROM employee');
while($row = mysql_fetch_array($sql)) {
$ime = $row['firstname'];
$prezime = $row['lastname'];
//sad mogu da radim sta hocu sa imenom/prezimenom
}

Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

nikola.j
Nikola Janković

Član broj: 15712
Poruke: 85
*.com
Via: [es] mailing liste



Profil

icon Re: DBGrid, kako da shetam kroz njega?26.03.2006. u 12:17 - pre 219 meseci
>

najbolje je da koristis:
ime:= ABSQuery1.FieldByName('firstname').AsString (ili mozda AsWideString)

mada mozes da koristis i array: ABSQuery.Fields[0] i ABSQuery.Fields[1], ako
znas da li ti je lastname na 0, a firstname na 1 ili obrnuto
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: DBGrid, kako da shetam kroz njega?26.03.2006. u 14:10 - pre 219 meseci
Ime i prezime uzimas ovako:

Code:
ime:= ABSQuery1.FieldValues['firstname'];
prezime:= ABSQuery1.FieldValues['lastname'];


Eto, to bi trebalo da je to .

Srecan rad .

P.S. Predlazem ti i da procitas ADO tutorial sa ovog foruma posto ti u sustini sve sto je tamo receno vredi i za tu bazu, tj. komponente koje ti koristis.

I jos nesto... Sad videh da si pitao i za pristu podacima bez DBGrida... Naravno da moze, a upravo se ovako i pristupa podacima bez obzira na to da li imas ili nemas DBGrid na formi.

[Ovu poruku je menjao Strog dana 26.03.2006. u 15:13 GMT+1]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: DBGrid, kako da shetam kroz njega?28.03.2006. u 20:55 - pre 219 meseci
Hvala svima na odgovorima :)
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: DBGrid, kako da shetam kroz njega?29.03.2006. u 21:11 - pre 219 meseci
Auf... nesto ne radi...

Evo koda:

Code:
procedure TForm1.Button1Click(Sender: TObject);
var test:string;
begin
ABSQuery1.Close;
//ABSQuery1.RequestLive:=true;
ABSQuery1.SQL.Text:='select * from employee';
 try
  ABSQuery1.Open;
 except end;


ABSQuery1.First;
while ABSQuery1.Eof do begin
test:=ABSQuery1.FieldValues['FirstName'];
showmessage(test);
ABSQuery1.Next;
end;

end;


Podaci se ubace u DBGrid, medjutim, blok izmedju while... i (prvog) end; kao da se ne izvrsi... ne dobijam nikakve poruke cak ni kad sam stavio test:='test';

Any hints?
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: DBGrid, kako da shetam kroz njega?29.03.2006. u 22:57 - pre 219 meseci
Naravno da se kod ne izvrsi ni jednom, fali ti jedno "not" .

Znaci while petlju moras da pises ovako:

Code:
while NOT ABSQuery1.Eof do begin
//not sam namerno napisao velikim slovima zbog uocljivosti, a ne zbog potrebe :)...

...

end;


 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: DBGrid, kako da shetam kroz njega?29.03.2006. u 22:58 - pre 219 meseci
Naravno da se kod ne izvrsi ni jednom, fali ti jedno "not" .

Znaci while petlju moras da pises ovako:

Code:
while NOT ABSQuery1.Eof do begin
//not sam namerno napisao velikim slovima zbog uocljivosti, a ne zbog potrebe :)...

...

end;


 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: DBGrid, kako da shetam kroz njega?29.03.2006. u 23:39 - pre 219 meseci
Silly me... nisam razmisljao... a i bio sam umoran, morate me razumeti

Hvala, sad radi
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: DBGrid, kako da shetam kroz njega?

[ Pregleda: 2679 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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