|
|
Иногда требуется
добавить параметры в уже существующий DPB
во время выполнения. К примеру, когда
приложение запущено, и нужно определить имя
пользователя и пароль и внести эти значения
динамически. Функция isc_expand_dpb()
может быть
использована для передачи дополнительных
параметров в созданный DPB
во isc_dpb_lc_ctypeвремя
выполнения. Это
параметры isc_dpb_user_name,
isc_dpb_password, isc_dpb_lc_messages.
Но isc_expand_dpb() автоматически не освобождает
выделенное место в памяти при отключении от
БД. Функция требует следующих параметров: Параметр
тип
Описание dpb char**
Указатель на DPB dpb_size
unsigned
short*
Указатель на текущий размер DPB в
байтах …
char*
Указатели на тип элемента и элемент
добавляемый к DPB Третий
параметр в таблице, « . . .», показывает
переменное число вводимых параметров, с
различными именами, но
каждый из которых указывает на char. Следующий
код демонстрирует как вызываемая функция isc_expand_dpb()
добавляет имя пользователя и пароль
DPB после того как пользователь вводит их
во время выполнения char
dpb_buffer[256], *dpb, *p; char
uname[256], upass[256]; short
dpb_length; /*
Создание параметров буфера DPB.
*/ dpb
= dpb_buffer; *dpb++
= isc_dpb_version1; *dpb++
= isc_dpb_num_buffers; *dpb++
= 1; *dpb++
= 90; dpb_length
= dpb - dpb_buffer; /*
Спрашиваем пользователя о имени и пароле */ prompt_user("Enter
your user name: "); gets(uname); prompt_user("\nEnter
your password: "); gets(upass); /*
Добавляем введенное к DPB.
*/ dpb
= dbp_buffer; isc_expand_dpb(&dpb,
&dpb_length, isc_dpb_user_name,
uname, isc_dpb_password,
upass, NULL);
|
Дизайн: Piton Alien |