Adatok frissítése AZ SQLBulkOperations használatával

Az alkalmazások tömeges frissítési, törlési, beolvasási vagy beszúrási műveleteket hajthatnak végre az adatforrás mögöttes tábláján az SQLBulkOperations hívásával. Az SQLBulkOperations meghívása kényelmes alternatívája egy SQL-utasítás létrehozásának és végrehajtásának. Lehetővé teszi, hogy az ODBC-illesztőprogramok akkor is támogatják a helyhez igazított frissítéseket, ha az adatforrás nem támogatja a pozicionált SQL-utasításokat. Ez része annak a paradigmának, hogy függvényhívásokkal teljes adatbázis-hozzáférést érhet el.

Az SQLBulkOperations az aktuális sorkészleten működik, és csak az SQLFetch vagy az SQLFetchScroll hívása után használható. Az alkalmazás a sorok könyvjelzőinek gyorsítótárazásával határozza meg, hogy mely sorokat kell frissíteni, törölni vagy újratölteni. Az illesztő lekéri a frissíteni kívánt sorok új adatait, vagy a mögöttes táblába beszúrandó új adatokat a sorhalmaz puffereiből.

Az SQLBulkOperations által használandó sorhalmazméretet az SQLSetStmtAttr hívása állítja be SQL_ATTR_ROW_ARRAY_SIZE attribútumargumentumával . A SQLSetPos-tól eltérően, amely csak az SQLFetch vagy az SQLFetchScroll hívása után alkalmaz új sorhalmazméretet, a SQLBulkOperations az SQLSetStmtAttr hívása után használja az új sorhalmazméretet.

Mivel a relációs adatbázisokkal való legtöbb interakció SQL-en keresztül történik, az SQLBulkOperations nem támogatott széles körben. Az illesztőprogram azonban könnyen emulálhatja ezt egy UPDATE, DELETE vagy INSERT SQL-utasítás létrehozásával és végrehajtásával.

Az SQLBulkOperation által támogatott műveletek meghatározásához egy alkalmazás meghívja az SQLGetInfo-t a SQL_DYNAMIC_CURSOR_ATTRIBUTES1, SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES1, SQL_KEYSET_CURSOR_ATTRIBUTES1 vagy SQL_STATIC_CURSOR_ATTRIBUTES1 információs lehetőséggel (a kurzor típusától függően).

Ez a szakasz a következő témaköröket tartalmazza.