Шаг 18 Читаем записи - Выводим на экран

Ну, вот осталось совсем немножко, и мы увидим колонки. Для того, чтобы увидеть строки и колонки, нам опять нужны переменные.

// переменные для сток
ULONG cRowsObtained;
HROW rghRows[NUMROWS_CHUNK];   
HROW* pRows = &rghRows[0];
char* pRowValues;

NUMROWS_CHUNK я объявил как.

#define NUMROWS_CHUNK     35

Нам нужно инициализировать указатель на строку.

pRowValues = new char[cbRow];

Основной цикл считывания данных.

while (TRUE)
{
pIRowset->GetNextRows(0,0,NUMROWS_CHUNK,&cRowsObtained,&pRows );  
if (cRowsObtained == 0)  break;
	for (ULONG iRow=0; iRow < cRowsObtained; iRow++)
	{		
		pIRowset->GetData(rghRows[iRow], hAccessor, pRowValues);
		printf("\t%s\n",&pRowValues[pDBBindings[1].obValue]);    
	}
}

После использования строку нужно удалить из памяти.

delete [] pRowValues;

Результат работы программы будет вот такой. Колонка с записями.

18_1.gif (1932 b)

Как видите кодировать данным образом работу с базой данных не очень приятно. А точнее вообще не приятно. Сложно и долго. Для облегчения работы с OLE DB и были созданы OLE DB Template то есть шаблоны. Они позволяют уменьшить количество кода для работы с OLE DB.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 11.07.2001