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

1 ... 78 79 80 [ 81 ] 82 83 84 ... 141


vValue;

Ее поля описаны в таблице 5-2. Таблица 5-2. Поля структуры DBPROP

Поле Описание

dwPropertylD . свойства, параметры ; в данной

структуре

dwOptions Параметры : В поле Вы можете записать константы

.. а . . . .- .; : . QMl,

Первая из них означает, что для данного свойства нужно обязательно задать а вторая что данное свойство задавать а а обязательно dwStatus Результат заниси или чтения свойства. Устанавливается провайдером и может использоваться для получения информации о успешно ли . операция

Здесь мы передаем ; кон-

станту А ; -. идентификатор класса SQLClLtlM.

ТретийпараметрфункцииСо Create Instance, заданныйспомощью макрокоманды CLSCTXINPROC SERVER, что источник данных SQLOLEDB работает как встраиваемый в процесс : (in-process server).

Четвертый и параметры задают соответственно идентификатор интерфейса i : и адрес р ID В Initialize, в которую записывается указатель на интерфейс ID В Initialize.

Если объект создан успешно, значение SUCCtSSCri.r) будет равно true. В этом случае Ваша программа может продолжить работу с источником данных, выполняя его .; ; и создание сеанса.

завершения работы с источником данных программа должна вызвать метод uiiiiiiiJ.aAj.iB объекта SQLOLEDB, воспользовавшись для этого интерфейсом IDBInitialize:

alDBInit iaLiza->llrii aj t1alize{);

Далее программа освободит! a- нужный более указательна интерфейс IDBInitialize, вызвав метод Release:

BlDBIaitiali2e->Releaae{);

Подготовка параметров инициализации

Для .а. а : источника а нам нужно создать массив структур

DBPROP, элементы которого будут содержать параметры инициализации (свойства SQLOLEDB).

Структура DBPROP определена следующим образом: typedef struct tagDBPROP {

DBPROPID : a. a



Базы данных в

Таблица 5-2. Поля структуры . Поле Описание

Дополнительный идентификатор столбца, к которому относится данное свойство. Если свойство . - i ко всем в это

поле необходимо записать LLID

Значение ; (типа VARIANT).

Если . свойство, значение которого не установлено и для

не по в это поле

записывается константа VT EMPTY.

В том случае, когда Вы задали в этом поле константу . при установке свойства, для инициализации свойства значение по умолчанию

Возможные значения, устанавливаемые провайдером источникаданных в поле - - в таблице 5-3.

Таблица 5-3. Значения поля dwStatus

Описание

Значение свойства было установлено ошибок

Было указано неправильное значение поля colid структуры DBPROP

Бьшо указано неправильное значение поля структуры DBPROP

Неправильное в nci лс vValue

Значение свойства не может быть так как

.11 :i приведет к конфликту с параметрами других свойств

Была попытка установить длят i.i

однако для некоторых столбцов это свойство

OBPftOPSTA

notset

, notsettable

dbpropstatus NtsrSiUPPuRTCD

Свойство не было в указанное значение.

Причина этого в том, что для параметра dwOptions указано значение в виде константы

и при этом установка свойства в значение невозможна

Была попытка установить значение

свойства, то.лько для чтения. Это ,ы значе-

ние свидетельствует, что сделана попытка изменить значение свойства в группе свойств после выполнения инициализации источникаданных

Установка свойства была выпо.лнена из-за того, что провайдер не данное свойство или набор. Это и в том случае, если потребитель попытку прочитать или изменить свойств, не входяших в инициализации, а данных не зирован



Вначале инициализируется имеюгцее тип VARIANT, с помогцью

функции В результате такой инициализации в ноле будет записа-

но значение VT EMPTY.

Далее мы указываем в поле vt тип данных как VT I2 (двухбайтовое целое со знаком), а затем записываем в поле .1.Vol константу Эта кон-

станта указывает, что в процессе инициализации пользователю не следует вы-на экран никаких приглагпений.

Все возможные значения данного свойства перечислены в , 5-4.

Второй элемент массива rglnitProperties определяет имя источника данных. Идентификатор соответствуюгцего свойства задается в поле dwPropertylD с помощью . . .. :

В поля dwOptions и colid этого и двух элементов массива rglnit-

мы записываем : : и DB JIJLL10 соот-

Итак, для инициализации соединения с источником данных нам сив структур DBPROP, элементы которого описывают свойства источника В простейгпем случае требуется задать четыре свойства:

♦ уровень приглагпения, определяюгций, нужно ли выводить на экран пригла-гпения для пользователя;

имя источника данных DSN;

пароль пользователя для доступа к источнику данных.

Для хранения этих свойств мы массив rpIrtitP ropei ties из четырех

элементов: DBPROP rfllriitProper

Далее нужно выполнить инициализацию элементов массива rglnitProperties. В поле . первого элемента массива (уровень приглагпения) мы

записываем константу ШРТ:

. FJKIT;.PnOHPT-

Таким образом обозначается, что данный элемент aiscsHKi будет содержать свойства, : . уровень приглагпения.

свойство имеет отногпение ко всем столбцам, поэтому в поле COliCl мы значение .

Свойство, определяюгцее уровень является обязательным (как

и все остальные три свойства нагпего массива). Поэтому в поле dwOptions указана константа DBPROPOPTIONS REQUIRED:

Установка значения свойства выполняется в три приема:



1 ... 78 79 80 [ 81 ] 82 83 84 ... 141

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