Главная ]
1.1.3.Добавление параметров к DPB
Программирование
Базы данных



Иногда требуется добавить параметры в уже существующий 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
Rambler's Top100 Рейтинг@Mail.ru
Сайт создан в системе uCoz