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

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


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

Выводит указанную только в том случае, если

требуется внести параметры инициализации

i Аналогично предыдущему, но пользователю не

ется вводить информацию : Панель приглашения

Что же касается собственно имени источника то оно записывается

= VT BSTR;

Аналогичным образом заполняются элементы массива имя и его пароль:

= VT BSTR;

задающее имя пользователя, имеет идентификатор USERID, а определяющее пользователя, - идентификатор

Здесь для простоты мы опустили инициализацию и

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

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

На данном этапе мы подготовили массив . структур DBPROP,

содержащий параметры для установки свойств объекта источникаданных. Теперь нужно задать свойства.

Установка свойств

свойств выполняется методом SetProperties интерфейса IDBPrope-rtlOS. Этому методу передается указатель па структуру DBPROPSET, который, в свою очередь, ддя ссылки пя только что подготовленный нами массив

структур DBPRQP.

Структура DBPROPSET определена следующим образом:

DBPROPOPTIONS REQUIRED; Таблица 5-4. Значения свойства DBPROP INIT PROMPT

ilUIMCIIHC



Глава 5. приложений с базами данных через OLE DB

struct tagDBPROPSET * rgProperties;

Ее описаны в таблице 5-5.

Таблица 5-5. Поля структуры DBPROPSET

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

на массив структур DBPROP. Содержимое поля игнорируется, если в поле cProperties находится нулевое значение

cProperties свойств, для которых выполняется

или чтения массива структур DBPROP)

guidPropertySet Глобальный уникальный идентификатор f Я ;i Пнаборасвойств

Структура DBPROPSET создается и инициализируется очень просто: DBPROPSET

- DBPROPSET DBINIT; = 4;

В поле guidPropertySet мы константу . так как наш

набор отвечает за источника Массив rglnit-

Properties состоит из элементов, поэтому в поле cProperties записы-

вается значение 4. Что же касается указателя на массив, то мы его

rgProperties.

Теперь у нас есть структура, описывающая массив . Чтобы свойства, нам метод SetProperties

ties. А для этого, в свою очередь, нам потребуется указатель на интерфейс

Необходимый указатель мы получаем с помощью функции ijuei-ylnterf ас§ и записываемв перемен ную рШ В Properties типа ЮН Р operties*;

pIDBProperties;

Через первый параметр мы Querylnterface глобальный

уникальный идентификатор В нашем случае идентификатором

интерфейса IDBProperties служит значение константы IID IDBProperties.

Второй параметр служит для передачи указателя на переменную, в которую будет записан указатель на интерфейс.

Теперь мы можем устанавливать HRESULT or;

Метод SetProperties интерфейса IDBProperties имеет два параметра. Через второй параметр передается указатель на массив структур типа DBPROPSET, а через первый - количество таких структур в массиве. В нашем случае подготов-



240 данных в Интернете.

лена одна структура описывающая массив DBPROP, поэтому значение

первого параметра равно 1.

Для . . ; показали на рис. 5-1 взаимосвязь структур и

DBPROP при установке свойств источника

dbpropset

Рис. 5-1, Задание свойств источникаданных

Здесь мы подготовили массив из трех структур DBPROPSET, поэтому первый параметр метода SetProperties интерфейса £1)В имеет значение, рав-

ное 3.

После того как программа .......свойства методом SetProperties, ин-

терфейс IDBProperties станет нам не , Поэтому мы освобождаем указатель

на интерфейс методом Release:

Инициализация

Последний этап в инициализации провайдера источникаданных - вы-

зов метода Initialize интерфейса 1 D131 nilialize:

что указатель па интерфейс мы получили на этапе создания объекта - источника данных функцией . - - апсе:

1-г = - . - , . NULL, . - -

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

Для этого нам опять потребуется интерфейс IDBInitialize.



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

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