Megosztás:


Sorkészlet mérete

A használandó sorok mérete az alkalmazástól függ. A képernyőalapú alkalmazások gyakran két stratégia egyikét követik. Az első az, hogy a sorhalmaz méretét a képernyőn megjelenő sorok számára állítja be; ha a felhasználó átméretezi a képernyőt, az alkalmazás ennek megfelelően módosítja a sorhalmaz méretét. A második az, hogy a sorhalmaz méretét nagyobb számra, például 100-ra állítja, ami csökkenti az adatforrásba irányuló hívások számát. Az alkalmazás lehetőség szerint helyileg görget a sorhalmazon belül, és csak akkor olvassa be az új sorokat, ha az a sorhalmazon kívül görget.

Más alkalmazások, például a jelentések általában a sorok méretét a legnagyobb számú sorra állítják be, amelyet az alkalmazás ésszerűen kezelni tud – nagyobb sorkészlet esetén a hálózat terhelése néha csökken. Egy sorkészlet mérete pontosan az egyes sorok méretétől és a rendelkezésre álló memória mennyiségétől függ.

A sorhalmaz méretét az SQLSetStmtAttr hívása állítja be a SQL_ATTR_ROW_ARRAY_SIZE attribútumargumentumával . Az alkalmazás a sorkészlet méretét is módosíthatja, kötheti az új sorkészletpuffereket (az SQLBindCol meghívásával vagy egy kötéseltolás megadásával), még a sorok beolvasása után is, vagy mindkettőt. A sorok méretének módosításának következményei a függvénytől függenek:

  • Az SQLFetch és az SQLFetchScroll a sorkészlet méretét használja a hívás időpontjában annak meghatározásához, hogy hány sort kell beolvasni. Azonban a SQLFetchScroll, az SQL_FETCH_NEXT FetchOrientation értékkel, az előző beolvasás sorkészletének megfelelően lépteti a kurzort, majd beolvassa a sorkészletet az aktuális sorkészlet mérete alapján.

  • Az SQLSetPos az SQLFetch vagy az SQLFetchScroll előző hívása során érvényes sorhalmazméretet használja, mivel az SQLSetPos egy már beállított sorkészleten működik. Az SQLSetPos akkor is felveszi az új sorhalmazméretet, ha az SQLBulkOperations meghívása a sorkészlet méretének módosítása után történt.

  • Az SQLBulkOperations a hívás időpontjában érvényes sorhalmazméretet használja, mivel a beolvasott soroktól független műveletet hajt végre egy táblán.