Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Ett program hämtar data med en markör. En markör skiljer sig från en resultatuppsättning: En resultatuppsättning är den uppsättning rader som matchar specifika sökvillkor, medan en markör är den programvara som returnerar dessa rader till programmet. Namnmarkören, som den gäller för databaser, kommer förmodligen från den blinkande markören på en datorterminal. Precis som markören anger den aktuella positionen på skärmen och var de inskrivna orden ska visas härnäst, anger en markör på en resultatuppsättning den aktuella positionen i resultatuppsättningen och vilken rad som ska returneras härnäst.
Markörmodellen i ODBC baseras på markörmodellen i inbäddad SQL. En viktig skillnad mellan dessa modeller är hur markörer öppnas. I inbäddad SQL måste en markör explicit deklareras och öppnas innan den kan användas. I ODBC öppnas en markör implicit när en instruktion som skapar en resultatuppsättning körs. När markören öppnas placeras den före den första raden i resultatuppsättningen. I både inbäddad SQL och ODBC måste en markör stängas efter att programmet har avslutat dess användning.
Olika markörer har olika egenskaper. Den vanligaste typen av markör, som kallas framåtriktad markör, kan bara gå vidare genom resultatuppsättningen. För att återgå till en tidigare rad måste programmet stänga och öppna markören igen och sedan läsa rader från början av resultatuppsättningen tills den når den obligatoriska raden. Framåtriktade markörer ger en snabb mekanism för att göra ett enda pass genom en resultatuppsättning.
Endast framåtriktade markörer är mindre användbara för skärmbaserade program, där användaren bläddrar bakåt och framåt genom data. Sådana program kan använda en framåtriktad markör genom att läsa resultatuppsättningen en gång, cachelagra data lokalt och utföra rullning själva. Detta fungerar dock endast bra med små mängder data. En bättre lösning är att använda en rullningsbar markör som ger slumpmässig åtkomst till resultatuppsättningen. Sådana program kan också öka prestandan genom att hämta mer än en rad data i taget, med hjälp av vad som kallas blockmarkör. Mer information om blockmarkörer finns i Använda blockmarkörer.
Den framåtriktade markören är standardmarkörtypen i ODBC och beskrivs i följande avsnitt. Mer information om blockmarkörer och rullningsbara markörer finns i Blockera markörer och rullningsbara markörer.
Viktigt!
Om du genomför eller återställer en transaktion, antingen genom att uttryckligen anropa SQLEndTran eller genom att arbeta i automatiskt incheckningsläge, kan vissa datakällor stänga alla markörer på alla instruktioner i en anslutning. Mer information finns i attributen SQL_CURSOR_COMMIT_BEHAVIOR och SQL_CURSOR_ROLLBACK_BEHAVIOR i sqlGetInfo-funktionsbeskrivningen .