Программирование >>  Руководство по созданию web приложений 

1 ... 82 83 84 [ 85 ] 86 87 88 ... 141


Таблица 5-8. Типы данных (продолжение)

Тип в Microsoft Тип данных OLE DB SQL Server

Описание

Структура типа DBTIMESTAMP:

struct Р

SHORT yeir;

month; day;

ushort hour;

USHORT minute;

USHORT second;

fraction;

Поля этой структуры хранят значения

месяца, дня, количество часов, минут и а дробную часть

DBTYPE,CY . типа . Это число

ШПу с фиксированной десятичной i

причем от точки указаны

цифры. Хранится как знаковое занимаю1цее в памяти 8 байт, с масштабом 10 ООО

Тип Тип данных i может иметь

переменную длину

Продолжим извлечения значений из полей набора записей, образо-

ванного в результате .....

Па данный момент мы извлекли характеристики столбцов набора данных и готовы привязку данных.

Подготовка информации для привязки данных

Для выполнения привязки данных мы должны создать массив структур OS содержащий информацию о привязке для всех столбцов набора. Массив создается .. образом:

= NULL;

pDBBind = new

Размер массива равен количеству строк в полученном наборе записей, которое мы определили на предыдущем этапе при помощи метода интерфейса

Определение структуры DBBINDING показано ниже: typedef struct tagDBBINDING

ULONG ULONG ULONG

lOrclinil:

oiiValue:

yblongfi;



DBBINDEXT DEPART

1 и DONG DWORD DBTYPE BYTE BYTE DBBINDING;

DuPi-t;

pBindExt;

dwPart;

bPrecision;

aScala;

Поле

lOrcinal

obValae

Как видите, некоторые поля этой структуры называются также как и поля структуры DBCOLUHNUFCl. Они имеют аналогичное назначение. Полное описание полей данной структуры Вы найдете в таблице 5-9. Таблица 5-9. Поля структуры DBBINDING Описание

Порядковый номер столбца. Нумерация начинается с ааанаааа причем столбец закладки типа bookmark имеет ггулевой номер

Смещеггие значения в буфере потребителя данных. Если буфер дан-ггых содержит строку aaimjia записей, это смещеггие должно указывать наполе строки, соответствующее столбцу, заданному в поле iOrdinal.

Применяется только в том случае, если в поле dwPart установлен флажок DBPART,VALUE

otjLinoth Смещеггие значения размера поля в буфере потребителя данных.

а только в том случае, если в поле dwPart установлен

флажок DBPART LENGTH

obStatus Смешеггие значения слова состояггия поля в буфере потребителя дан-

ных.

Используется только в том случае, если в поле iliPart установлен флажок аВРИТ 8ГДти8

pTypelnfo Зарезервировано

pObject Указательна типа DB0B1ECT. Применяется при работе с по-

лями типа BLOB или с полями, содержащими объекты СОМ. В нашей кггиге не

plio,1Exa Указатель на структуру DBBINDEXT, которую можно использовать для

дальнейших расширеггий структуры привязки данггых

dwPart Набор флагов, ; ; .. логической операцией ИЛИ и определя-

ющих, какая область буфера пользователя привязана к столбцам или \ - - - Может принимать значеггия DBPARTVALUE, DSPA4T, .. и DBPARTSTATUS

claleiOaaer Способ получения памяти для хранения данных. Может принимать значения :;: ...а ! а .. ц и: ..;.ч. . ;. ... В первом случае за работу с памятью отвечает ;. потребителя данных, а во втором - . источггика данных



Заполнение массива структур DBBINDING удобно выполнять в цикле.

Перед запуском цикла нам нужно - . - о1, в

которой будет храниться номер текущего столбца, а также переменную сЬКо\¥для хранения текущего смещения поля в буфере строки:

ULONG nCurrentCol; IJLONil cbRow = 0;

Чтобы обнулить поля структуры DBBINDING, мы применяем

функцию (I

. - .- . -0, slieofiDBBlNC

Пикл выглядит следующим

luurrentCol = 0; nCuriiit ! - ii 1.- Uiit;

Ha каждой итерации цикла помимо увеличения на единицу номера текущей строки nCurrentCoI мы извлекаем длину данных текущего столбца из соответствующего элемента массива с информацией о наборе данных pCoIInfo. Эта информация записывается в поле cbMaxLen структуры pDBBind и используется для увеличения содержимого переменной сЬВои. определяющей смещение данных ;.. столбца в буфере. В теле этого цикла выполняется инициализация других полей массива струк-, привязки:

= nCurrentCol + 1, = cbRow;

Таблица 5-9. Поля структуры Ш1 (продолжение)

Иоле

для привязки данных параметров. Определяет направление передачи данных и может принимать следующие :

. . : (входной параметр), . . : . (выходной

параметр), . (привязка используется .и-для пара-

метров). Константы и . могут объе-

диняться логической ИЛИ. если параметр является одно-

и входным, и выходным

Размер памяти, которую должен потребитель для хранения

полученных данных

Флаги .. столбца. Набор флажков определен в рамках

перечисления = -

; Тип данных, расположенных в

Максимальная точность численных данных или длина iifi<)i,:i, представляющей данные других типов

bScale Количество цифр справа от десятичной точки для данных типа



1 ... 82 83 84 [ 85 ] 86 87 88 ... 141

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика