Udostępnij przez


Wstawianie wierszy za pomocą polecenia SQLBulkOperations

Wstawianie danych za pomocą SQLBulkOperations jest podobne do aktualizowania danych za pomocą SQLBulkOperations, ponieważ używa danych z powiązanych buforów aplikacji.

Aby każda kolumna w nowym wierszu miała wartość, wszystkie powiązane kolumny z wartością długości/wskaźnika SQL_COLUMN_IGNORE i wszystkie niezwiązane kolumny muszą zaakceptować wartości NULL lub mieć wartość domyślną.

Aby wstawić wiersze za pomocą polecenia SQLBulkOperations, aplikacja wykonuje następujące czynności:

  1. Ustawia atrybut instrukcji SQL_ATTR_ROW_ARRAY_SIZE na liczbę wierszy do wstawienia i umieszcza nowe wartości danych w powiązanych buforach aplikacji. Aby uzyskać informacje na temat wysyłania długich danych za pomocą SQLBulkOperations, zobacz Long Data and SQLSetPos and SQLBulkOperations.

  2. Ustawia wartość w buforze długości/wskaźnika dla każdej kolumny zgodnie z potrzebami. Jest to długość bajtów danych lub SQL_NTS dla kolumn powiązanych z buforami znakowymi, długość bajtów danych dla kolumn powiązanych z buforami binarnymi oraz SQL_NULL_DATA dla wszystkich kolumn, które mają być ustawione na wartość NULL. Aplikacja ustawia wartość w buforze długości/wskaźnika tych kolumn, które mają być ustawione na wartość domyślną (jeśli istnieje) lub NULL (jeśli nie istnieje) na SQL_COLUMN_IGNORE.

  3. Wywołuje metodę SQLBulkOperations z argumentem Operation ustawionym na SQL_ADD.

Po powrocie polecenia SQLBulkOperations bieżący wiersz jest niezmieniony. Jeśli kolumna zakładki (kolumna 0) jest powiązana, SQLBulkOperations zwraca zakładki wstawionych wierszy w buforze zestawu wierszy powiązanym z tą kolumną.