Bejelentkezés

E-mail: 
Jelszó: 
| Regisztráció | Jelszó? |
 



Menü

.Net világ havilap 2004. július - 30. oldal

Adathalmaz lapokra bontott lekérdezése

Gyakori  eset,  amikor  egy-egy  nagyobb  adathalmazt  nem  egyszerre  jelenítünk  meg  a  programunkban  felhasználóink  számára,  hanem  annak  csupán  egy  kisebb  részletét.  Ekkor  azonban  biztosítanunk  kell  a  felhasználó  számára,  hogy  előre-hátra  "lapozhasson"  a  megjelenített  adatok  között.Jó  példa  erre  egy  webes  kereső  szolgáltatás.  Amikor  beírunk  egy  szót,  kapunk  egy  listát  a  találatokról.  A  lista  azonban  nem  teljes.  Nem  is  lehetne  az,  hiszen  a  találati  szám  lehet,  hogy  100  000  vagy  még  több  sor  lenne,  amit  nyilván  nem  célszerű  egy  lapon  megjeleníteni.  Általában  20-30  sor  jelenik  meg  egy  lapon  és  lehetőségünk  van  a  következő  lapra  ugrani.  Gondoljunk  csak  bele  programozói  szemmel  a  dologba:  futtatunk  egy  lekérdezést  az  adatbázisunkban,  mely  egy  adott  kifejezés  alapján  leválogat  egy  táblából  sorokat.  A  kapott  eredménylistának  persze  csak  az  első  20  sora  érdekel  bennünket,  de  semmi  gond,  beírjuk  a  Select-be,  hogy  "top  20".  Igen  ám,  de  mi  a  helyzet  akkor,  amikor  a  felhasználó  a  második  lapra  kíváncsi,  ahol  a  21-40.  sorokat  kellene  megmutatnunk  ebből  a  táblából.  Könnyen  belátható,  hogy  nem  célravezető  a  lekérdezést  ilyenkor  a  "top  40"  utasítással  futtatni,  majd  programból  leválogatni  az  első  20,  számunkra  szükségtelen  sorokat,  hiszen  amikor  a  felhasználó  mondjuk  a  100.  lapra  kíváncsi,  akkor  már  igen  tetemes  adatmennyiséget  kellene  olvasnunk  az  adatbázisból.Mi  hát  akkor  a  jó  megoldás,  mely  ráadásul  hatékony  is  és  nem  terheli  sem  programunkat,  sem  adatbázis  szerverünket  a  kelleténél  jobban?A  megoldás  kézenfekvő:  válogassuk  le  a  második  oldal  esetén  csak  a  21-40  közötti  sorokat  az  adatbázisból.  Ez  a  megoldás  minden  szempontból  megfelelő  lenne,  csupán  az  a  kérdés,  hogy  miként  is  valósítsuk  meg?  Egy  tetszőleges  where  feltétellel  futtatott  select  utasítás  eredményeképpen  kapott  adathalmazból  miként  is  tudjuk  kiválogatni  a  21.  és  40.  közötti  sorokat,  ha  történetesen  a  második  lapra  kíváncsi  a  felhasználó  és  laponként  20  sort  jelenítünk  meg?E  cikkben  e  problémára  keresünk  hatékony  megoldást.

A cikk további része csak bejelentkezés és érvényes előfizetés után érhető el!

Önnek lehetősége van egy teljes havilapot egyetlen emeltdíjas SMS-sel is kifizetni. Ebben az esetben az interneten keresztül azonnal hozzáférhet az Ön által választott havilap összes cikkéhez és letölthető forráskódjához!

A papír alapú havilap bolti ára bruttó 1 438 Ft.
Internetes hozzáférés SMS-sel fizetve bruttó 720 Ft.
Egy havilap kifizetéshez küldjön egy SMS-t az alábbi számra:
06 (90) 617-907 (az SMS ára 720 Ft).
Az SMS-be csak ezt a szót írja: ANIMARE
További információ az újság előfizetés lapon.