Query on the fly

Query on the fly

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Ja vec dosta dugo imam praksu da sve sto je moguce kreiram dinamicki, osim formi, mada i to imam obicaj ako se radi o nekoj komponenti.

Svako ko radi sa bazama podataka, ima vrlo cesto potrebu da izvrshi neki upit nad bazom. Svaki put kreirati dinamicki moze da bude nezgodno pa vam poklanjam unit koji ce vecinu stvari automatizovati za vas.

[Link mogu videti samo ulogovani korisnici]

Nekoliko reci o unitu...
Unit je napravljen za Absolute Database. Moze se jednostavno izmeniti da radi za bilo koju drugu komponentu... obican TQuery, TSDQuery,TADOQuery...i ostale

Postoji i klasa TABLQuery. Nju nemojte koristiti jer je komplikovano za objasniti. Ona radi na specifican, samo meni potreban nacin.

Kako se prilagodjava unit
-----------------------------------
Prvo je potrebno prilagoditi unit za vas slucaj. Uklonite iz USES klauzule "ABSMain". To je specificno za AbsoluteDatabase.

Ako koristite delfijeve TQuery i TDatabase komponente, onda to izgleda ovako:
1. Promenite TABQuery = class(TABSQuery) u TABQuery = class(TQuery)
*** TAbQuery mozete nazvati TPericinQuery, sve jedno...

2. pronadjite sva ponavljanja TABSDatabase i promenite u TDatabase (ili komponentu koju vi koristite

Kako se radi sa unitom
-----------------------------------

1. Stavite unit u USES tamo gde vam treba.
2. Primer koriscenja: (recimo, treba vam funkcija koja ce da vrati sumu kolicine neke robe

Primer

function GetSumaKolicineCipela:integer; var   qry:TABQuery; begin   qry:=Create_Query('', DataModule1.MojaBaza);   {ovde moze odmah upit, ali ja ne volim}   try     qry.sql.text:='SELECT sum(RBA_QtnKolicina) FROM Roba WHERE                    RBA_CdiTipRobe = 1'; //cipele     qry.open;     result := qry.fields[0].asInteger;     qry.close;   finally     DeleteQuery(qry);   end; end;



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1784 korisnika na forumu :: 106 registrovanih, 8 sakrivenih i 1670 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 15694 - dana 01 Feb 2026 12:23

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 4. Ozrenska, _Sale, A.R.Chafee.Jr., acatomic, AK - 230, alex71, AMCXXL, awathorn, Ba4e, bankulen, blejač, bobrothers, bokicacar, Boris90, borya90, bounty hunters, bozo13, brufen, bunker, Cirkon, crnitrn, darcaud, DeerHunter, DejanSt, Drugard72, DzigiNS, Džekson, Futog 74, g0xy, Georgius, Goksi95, gost321, halkin gol, Ivoo, JK, jodzula, Jose, Kakarotsvc, KizJ, Konda, Kružić, Kubovac, kuntalo, lacko, Lelemood, Leonov, Levi, lord sir giga, LostInSpaceandTime, mat, maxim_von_burdengate, mercedesamg, metallac777, MiljanXD, milos.cbr, miroslav milanović, mishkooo, mist-mist, mix1, MK10, nebkv, nenad81, Neutral-M, nixos, Obrad2, omen, orfanel, Paklenica, Pekman, Pero Petković, Petar25, Povratak1912, precan, predragc, PrincipL, probisic, Roksi, Romibrat, ruma, ruso, shaja1, Siti2, SK66, slowhand, stalja, stefan95, strelac07, tecataki, Tihi86, trutcina, ujke, vazduh, Velički, Vica1958, Vl veliki, vrlenija, x011, xAlex2, Zanimljivo, Zastava, zgoljo, ZlatniRez, zlaya011, zmajbre, |_MeD_|, Čivi