Udostępnij za pośrednictwem


Jak Fetch kolumn przy użyciu IRow::GetColumns (OLE DB)

IRow Interfejs umożliwia bezpośredni dostęp do kolumn o jeden wiersz zestaw wyników.W ten sposób IRow jest skuteczny sposób pobrać kolumny z zestaw wyników z jednego wiersza.

Przykładowy kod źródłowy jest dostępny tego showshow Fetch przy użyciu pojedynczego wiersza IRow.W tym przykładzie jedną kolumna w czas jest pobierana z wiersza.Próbka zawiera:

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

  • Jak dostęp kolumna dwukrotnie.Pierwszy czas szerokość kolumna rzeczywistych jest uzyskiwana, a później dostępne dane.W strukturze DBCOLUMNACCESS Jeśli pData ma wartość NULL i cbMaxLen jest 0, wywołanie IRow—>GetColumns() zwraca tylko długość kolumna rzeczywistego.W takim przypadek IRow->GetColumns() może być wywołana, na tym samym kolumna do pobierania danych rzeczywistych.

Zakończenie przykładowy kod znajduje się w pliku FetchColumns_B.cpp.Można pobrać archiwum zawierające próbki z Pobierania programu SQL Server strona w witrynie MSDN.

Próbka ta została opracowana przy użyciu programu Microsoft Visual C++ 2005.

Poniższy kod tworzy tabela próbki, używany przez FetchColumns_B.cpp.

USE AdventureWorks2008R2;
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
Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.Jeśli uwierzytelnianie systemu Windows nie jest dostępne, Monituj użytkownikom wprowadzanie poświadczeń przy uruchomieniu czas.Unikaj przechowywania poświadczenia w pliku.Jeśli poświadczenia muszą zostać zachowane, należy zaszyfrować je z Win32 crypto API.

Fetch kolumn przy użyciu IRow::GetColumns

  1. Ustanów połączenie z danymi źródło.

  2. Wykonanie polecenia (w poniższym przykładzie parametr ICommandExecute::Execute() jest wywoływana z IID_IRow).

  3. Wykonanie IRow::GetColumns() Fetch jedną lub więcej kolumn w wierszu wynikowe.Jeśli chcesz znaleźć rozmiar rzeczywisty kolumna przed pobieranie danych, zestaw pData w DBCOLUMNACCESS na wartość NULL.Wywołanie IRow::GetColumns() zwraca szerokość kolumna.Inne wywołanie IRow::GetColumns() będzie pobierać dane.

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

Zobacz także

Inne zasoby