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

SQL problemcic

[es] :: Pascal / Delphi / Kylix :: SQL problemcic

[ Pregleda: 4075 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Alien
Code Aliens
Brcko R. Srpska

Član broj: 2756
Poruke: 13
217.26.74.*



Profil

icon SQL problemcic29.03.2002. u 17:33 - pre 268 meseci
Napisao sam SQL naredbu koja mi iz baze u DBGrid-u pokaze npr. sve sta je radnik PERO uradio u periodu od 01/02/2002 do 01/03/2002 i to super radi evo koda

Query1.Close;
Query1.Sql.Clear;
Query1.Sql.Add ('select * from servis');
Query1.Sql.Add ('where radnik = "'+Edit1.text+'" and datum between "'+MaskPocetak.Text+'" and "'+MaskKraj.Text+'" ');
Query1.Open;

Sta treba jos da dopisem i na koji nacin da to povezem sa komponentom Label ili DBLabel da bi mi ona prikazala ukupanu vrijednost kolone IZNOS za tog radnika i taj period. Nadma se da sam bio razumljiv
... Djole, Djole nevaljali zeka...
 
Odgovor na temu

overflow
Goran Milosavljević
Integration & Internet Senior
Engineer @ Telenor
Beograd

Član broj: 396
Poruke: 345
*.verat.net

ICQ: 106825659
Sajt: localhost


Profil

icon Re: SQL problemcic29.03.2002. u 22:53 - pre 268 meseci
Najbolje (najefikasnije) resenje je:

Code:
with query1 do
begin
close;
sql.clear;
sql.add(
'SELECT IME, PREZIME, POSAO, SUM(IZNOS) IZNOS FROM SERVIS
WHERE RADNIK = :Rad AND DATUM BETWEEN :dat1 AND :dat2
GROUP BY IME, PREZIME, POSAO;');
params[0].name:='Rad';
params[0].value:=edit1.text;
params[1].name:='Dat1';
params[1].value:=MaskPocetak.text;
params[2].name:='Dat2';
params[2].value:=MaskKraj.text;
Open;
label1.caption:=fieldbyname('IZNOS').AsString;
end;


(eventualno formatiraj taj izlaz u label1)
Sve sto je besmislenije, utoliko je bolje.
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
212.110.78.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: SQL problemcic30.03.2002. u 10:57 - pre 268 meseci
ja cu opet da napravim malu zavrzlamu oko najefikasnijed resenja
overflow je prezentirao prilicno efikasnog i bezbolnog resenja,
ali ipak mislim da ima boljeg.
kao prvo, njegovo resenje treba ponovo inicijalizirati parsiranje query-ja
prolistati ponovo bazu, i tek onda presmetati sumu.
veci deo ovih koraka mogu se izbeci, posto vec imamo recordset koji nam sadrzi
sve rekorde iz baze koje nam trebaju. Ja bih jednostavno prosao kroh
taj postojeci recordset i sumirao kolonu.

alienov kod:
Code:

Query1.Close; 
Query1.Sql.Clear; 
Query1.Sql.Add ('select * from servis'); 
Query1.Sql.Add ('where radnik = "'+Edit1.text+'" and datum between "'+MaskPocetak.Text+'" and "'+MaskKraj.Text+'" '); 
Query1.Open; 
//funkcija za presmetanje sumu iznosa:
with query1 do
begin
DisableControls; // da se dzaba ne update-uje grid i ostale db aware kontrole
first;
sum:=0;
while not eof do
begin
suma:=suma+fieldbyname('iznos').asFloat; //moze i integer
next;
end;
Label1.caption:=floattostr(suma);
EnableControls; 
end;


People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

overflow
Goran Milosavljević
Integration & Internet Senior
Engineer @ Telenor
Beograd

Član broj: 396
Poruke: 345
*.verat.net

ICQ: 106825659
Sajt: localhost


Profil

icon Re: SQL problemcic30.03.2002. u 16:43 - pre 268 meseci
Definitivno si me naterao da uradim test sa 50.000 recorda sa tvojim i mojim kod-om ... licno-jedva cekam rezultate ... potrudicu se da ih postavim koliko vec sutra (posto danas nisam nesto sa vremenom).
Sve sto je besmislenije, utoliko je bolje.
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
212.110.78.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: SQL problemcic30.03.2002. u 18:24 - pre 268 meseci
kad sam pre napisao post, samo sam brzaka procitao overflow-ov post.
i hteo bi da se izvinim, posto je overflow stvarno u pravu.
Njegovo resenje JE brze, a i bolje.
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

Alien
Code Aliens
Brcko R. Srpska

Član broj: 2756
Poruke: 13
217.26.74.*



Profil

icon Re: SQL problemcic31.03.2002. u 23:14 - pre 268 meseci
u svakom slucaju hvala vam obadvojici!
... Djole, Djole nevaljali zeka...
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: SQL problemcic

[ Pregleda: 4075 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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