|
Программирование >> Руководство по созданию web приложений
IIFIESULT г г; ULONG nColsCount; DBCOLUMNINFO* pCollnfo = NULL; : . = NULL; hr = . . ... Методу i через параметры передаются три указателя на перемен- ные, в которые будет записана информация о столбцах набора записей. В переменную .на которую передается через первый параметр, метод - - - количество столбцов, гя в на- боре записей, или нулевое значение, если в результате выполнения команды набор записей не был создан. Через второй параметр методу GetColumnlnfo передается адрес в которую будет записан адрес массива структур DBCOLUMNINFO, описывающих столбцы набора. И наконец, через третий параметр передается указатель на переменную, в которую будет записан на память для всех строковых значений. Бу- фер может содержать одну или более строк, закрытых двоичным нулем. Структура DBCOLUMNINFO определена так: t/petlef struct .. LPOLESTR pwszName; ITypslrro * ULONG DBCOLUMNFLAGS ULONG DBTYPE . BYTE bPrecision; BYTE bScale; DBII) epiuinld; } DBCOLUMNINFO; Поля этой структуры описаны в 5-6. Таблица 5-6. Поля структуры DBCOLUMNINFO Поле Описание pwszName Указате.ть на имя или NULL, если имя столбца определить не удалось pTypelnfo Зарезервировано iOrdinal номер столбца. . с 1, причем стол- бец закладки типа bookmark имеет нулевой помер dwFlaga ; характерисиж столбца. Набор флагов определен в рамках речисления DBCOLUMNFLAGS ulSaluenSize Максимальная длина значения в столбце wType Тна данных, в столбце bPrecision Максимальная точность численных данных или длина строки, в кото- рой представлеггы данные других точки для данных типа После получения информации о столбцах набора мы должны освободить ненужный в - . - . работе - на интерфейс IColuiinsInfo: : полученные на этом этапе, потребуются нам для выполнения щзи вязки полей из строк набора к . определенным в нашем приложении. Особый интерес вызывает информация, в полях - ; - - .; (характеристики столбца) и hTjpe (тип данных). Поле dwFlags может содержать константы, объединенные логической опера-1Ь> (таблица 5-7). Таблица 5-7. Константы для заполнения - KoHCiHHiH Описание . . . . .: .. Отсроченное чтение с кэшированием ... Столбец содержит закладку bookmark . - . Столбец содержит (chapter \-лЫг;) D8C0LUMNFLAGS iSFiXEDLENGTH Все данные В столбце имеют одну и ту же длину Столбец содержит данные типа BLOB : а Е Этот флажок в том случае, если столбец может содержать значения NULL или если . . ис-точнгжа данных способен определить, может ли значение полей столбца быть равно NULL Столбец сохраняемой строки Стол содержит отметку о времени iUhicnnmp} или другое значение, используемое для .-,nT,-<:ai.:iii.uiii>i версий записей, которое и.ля обновлять при помохци операций прямой :..iiiirii 11<.,:.1 i-i.i.ifdia могут содержать значения NULL Отложенный столбец. Данные такого столбца не извлекаются II.; источника данных до тех пор, пока потребитель данных не 1 1.ык.М1-;. их извлечь Для данного столбца можно вызывать метод SetData iii.i(4Miri;i :i IrawsetChHiije. предназначенного для изме-IIC4III записи. Если этот флажок не у (~1ы as п. 1141. записи данного столбца доступны только для чтения. Этот флажок не используется совместно с >aLUIINFLACiS afi TyNKNCWK Данные в <iai а=. laa.i и:а как iiaaaaa.a-i-aiM метода SetData интерфейса IrowsetChange, так и с применением других механизмов. Этот флажок а а используется совместно с DBCOLUMNFLAGS WRITE BLajOLUMHf lASS lSBOiilI!; I) В С О а и И И F L aaaS, Д S Я О И V Е а: W.VBENUL DBCOLUHNFLAGS MAYDEFER DBCOLUMNFLAGa WRITE DBCOI.uflBFa Таблица 5-6. Поля структуры .: - (продолжение) Поле Описание bScale Количество цифр справа от . . 1Ш1 DBIYPENUMERIC Идентификатор Что же касается типа данных, указанного в поле : . то в таблице 5-8 мы перечислили некоторые . значения для провайдера сервера Microsoft SQL Server. Таблица 5-8. Типы данных Тип данных OLE dbtype str dbtype, bytes DBTYFE IIIJHERIC Тип в Microsoft SQL Server char varchar text binary aar Ыааау timestamp image numeric decimal Описание Строка символов ANSI, закрытая двоичным нулем Численное значение, имеющее <t.aH;cii])ai;aiaiyKi точность и масштаб. Описываетсяструктурой fji iU4EiIC, tytmilet struct tjfjDB.IfaHEfllC { BYTE precision; BYTE scale; byte byte DBTYPE DATE tinyint smallint real float Здесь precision . ко.личество десятичных цифр, scale - количество цифр от десятичной sign - знак(1 дли чи- сел и О для отрицательных), аа! - число, занимающее в памяти 16 байт Целое без знака, занимающее в памяти 1 байт Двухбайтовое целое со знаком Целое со ,.; .., . в i байта с плавающей десятичной точкой одинарной точности Аналогично по двойной точа ости Значеггие типа double. Целая часть этого содержит ко.личество дней, с 30 декабря 1899 года, а дробная - прошедшую часть текущего дня
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |