Megosztás:


Sorok beszúrása SQLBulkOperations használatával

Az adatok SQLBulkOperations használatával való beszúrása hasonló az SQLBulkOperations-adatok frissítéséhez, mivel a kötött alkalmazáspufferekből származó adatokat használja.

Annak biztosítása, hogy az új sor minden oszlopa tartalmaz egy értéket, az összes kötött, SQL_COLUMN_IGNORE hosszúságú/mutató értékű oszlopnak és minden kötetlen oszlopnak el kell fogadnia a NULL értékeket, vagy alapértelmezett értékkel kell rendelkeznie.

Ha sorokat szeretne beszúrni az SQLBulkOperations használatával, az alkalmazás a következőket teszi:

  1. Beállítja a SQL_ATTR_ROW_ARRAY_SIZE utasítás attribútumot a beszúrni kívánt sorok számára, és elhelyezi az új adatértékeket a kötött alkalmazáspufferekben. A hosszú adatok SQLBulkOperations használatával történő küldéséhez lásd: Long Data and SQLSetPos and SQLBulkOperations.

  2. Szükség szerint beállítja az egyes oszlopok hossz/mutató pufferének értékét. Ez a karakterláncpufferekhez kötött oszlopok esetében az adatok bájthossza vagy az SQL_NTS, a bináris pufferekhez kötött oszlopok esetében az adatok bájthossza, valamint az SQL_NULL_DATA a NULL értékre állítandó oszlopokhoz. Az alkalmazás az alapértelmezett (ha létezik) vagy NULL (ha nem) értékre állítja az alapértelmezett oszlop hossz/mutató pufferében lévő értéket SQL_COLUMN_IGNORE.

  3. Az SQLBulkOperations függvény SQL_ADD értékű Művelet argumentummal való meghívása.

Az SQLBulkOperations visszatérése után az aktuális sor nem változik. Ha a könyvjelző oszlop (0. oszlop) kötött, az SQLBulkOperations visszaadja a beszúrt sorok könyvjelzőit az adott oszlophoz kötött sorhalmaz pufferében.