Udostępnij za pośrednictwem


Jak Pobieranie kolumny przy użyciu IRow::GetColumns (OLE DB)

The IRow interfejs allows direct access to columns of a single row in the zestaw wyników. W ten sposób IRow to skuteczny sposób w celu pobrania danych od zestaw wyników o jeden wiersz.

Przykładowy kod źródłowy jest dostępna ta showshow pobrać przy użyciu pojedynczego wiersza IRow. W tym przykładzie jedną kolumna w czas jest pobierana z wiersza.Pokazuje przykładowy:

  • Jak pobrać grupy kolumn (w kolejności).

  • Jak dostępu kolumna dwukrotnie.Po raz pierwszy uzyskuje się szerokość kolumna rzeczywistych, a później dostępu do rzeczywistych danych.W strukturze DBCOLUMNACCESS Jeśli pData jest NULL, a cbMaxLen wynosi 0, wywołanie IRow->GetColumns() Zwraca tylko długości kolumna rzeczywistych. W takim przypadek IRow->GetColumns() może zostać wywołany ponownie na tej samej kolumnie w celu pobrania danych rzeczywistych.

Zakończenie przykładowy kod znajduje się w pliku FetchColumns_B.cpp.Możesz pobrać próbką z archiwum Pliki do pobrania program SQL Server strona w witrynie MSDN.

W tym przykładzie został opracowany przy użyciu programu Microsoft Visual C++ 2005.

Poniższy kod tworzy przykładową tabela używane przez FetchColumns_B.cpp.

USE AdventureWorks
GO

IF EXISTS (SELECT name FROM sysobjects WHERE name = 'MyTable')
     DROP TABLE MyTable
GO

CREATE TABLE MyTable
(
     col1  int,
     col2  varchar(50),
     col3  char(50),
     col4  datetime,
     col5  float,
     col6  money,
     col7  sql_variant,
     col8  binary(50),
     col9  text,
     col10 image
)
GO
INSERT INTO MyTable
values
(
     10,
     'abcdefghijklmnopqrstuvwxyz',
     'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
     '11/1/1999 11:52 AM',
     3.14,
     99.95,
     CONVERT(nchar(50), N'AbCdEfGhIjKlMnOpQrStUvWxYz'),
     0x123456789,
     REPLICATE('AAAAABBBBB', 500),
     REPLICATE(0x123456789, 500)
)
GO
Security noteSecurity Note:

Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, monitu użytkowników o wprowadzenie poświadczenia w czasie wykonywania.Należy unikać przechowywania poświadczenia w pliku.Jeśli muszą przetrwać poświadczenia, należy je z zaszyfrować Win32 crypto API.

Aby pobrać kolumn przy użyciu IRow::GetColumns

  1. Ustanów połączenie ze źródłem danych.

  2. wykonać polecenia (w poniższym przykładzie ICommandExecute::wykonać() nosi z IID_IRow).

  3. wykonać IRow::GetColumns() pobrać jednego lub kilku kolumn w wierszu wynikowe.Jeśli chcesz znaleźć rozmiar rzeczywisty kolumna przed pobieranie danych, zestaw pData w DBCOLUMNACCESS wartości null.Wywołanie IRow::GetColumns() zwraca tylko szerokość kolumna.Inne wywołanie IRow::GetColumns() będzie pobierać dane.

  4. IRow::GetColumns() należy wykonać, dopóki wszystkie kolumny, potrzebne są dostępne.Kolumny muszą być dostępne w sekwencji.

See Also

Other Resources