Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Toepassingen kunnen elke rij in de rijenset bijwerken of verwijderen met SQLSetPos. Het aanroepen van SQLSetPos is een handig alternatief voor het maken en uitvoeren van een SQL-instructie. Hiermee kan een ODBC-stuurprogramma updates ondersteunen, zelfs wanneer de gegevensbron geen ondersteuning biedt voor positionele SQL-instructies. Het maakt deel uit van het paradigma van het bereiken van volledige databasetoegang door middel van functie-aanroepen.
SQLSetPos werkt op de huidige rijenset en kan alleen worden gebruikt na een aanroep naar SQLFetchScroll. De toepassing geeft het aantal rijen op dat moet worden bijgewerkt, verwijderd of ingevoegd en het stuurprogramma haalt de nieuwe gegevens voor die rij op uit de rijensetbuffers. SQLSetPos kan ook worden gebruikt om een opgegeven rij aan te wijzen als de huidige rij of om een bepaalde rij in de rijenset van de gegevensbron te vernieuwen.
De rijsetgrootte wordt ingesteld door een aanroep naar SQLSetStmtAttr met een kenmerkargument van SQL_ATTR_ROW_ARRAY_SIZE. SQLSetPos maakt gebruik van een nieuwe rijsetgrootte, maar alleen na een aanroep naar SQLFetch of SQLFetchScroll. Als de grootte van de rijenset bijvoorbeeld wordt gewijzigd, wordt SQLSetPos aangeroepen en wordt SQLFetch of SQLFetchScroll aangeroepen en wordt de aanroep van SQLSetPos de oude rijsetgrootte gebruikt terwijl SQLFetch of SQLFetchScroll de nieuwe rijsetgrootte gebruikt.
De eerste rij in de rijset is rijnummer 1. Het argument RowNumber in SQLSetPos moet een rij in de rijenset identificeren; Dat wil gezegd: de waarde moet zich in het bereik tussen 1 en het aantal rijen bevinden dat het laatst is opgehaald (die mogelijk kleiner is dan de grootte van de rijenset). Als RowNumber 0 is, is de bewerking van toepassing op elke rij in de rijenset.
Omdat de meeste interactie met relationele databases via SQL wordt uitgevoerd, wordt SQLSetPos niet algemeen ondersteund. Een stuurprogramma kan het echter eenvoudig emuleren door een UPDATE - of DELETE-instructie te maken en uit te voeren.
Om te bepalen welke bewerkingen SQLSetPos ondersteunt, roept een toepassing SQLGetInfo aan met de SQL_DYNAMIC_CURSOR_ATTRIBUTES1, SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, SQL_KEYSET_CURSOR_ATTRIBUTES1 of SQL_STATIC_CURSOR_ATTRIBUTES1 informatieoptie (afhankelijk van het type cursor).
Deze sectie bevat de volgende onderwerpen.