|
Программирование >> Руководство по созданию web приложений
первый параметр .этой функции передается идентификатор ..рады, для которой выполняется настройка атрибутов. Второй : задает атрибут, подлежащий редактированию. В . : используется при настройке версии драйвера ODBC. Третий параметр функции SQL3etErivAt:t г задает значение атрибута (для численных значений) или адрес строки атрибута (для атрибутов, к в виде текстовой строки). Смысл . параметра i от типа значения атрибута, мого через третий параметр. значение числовое (как в нашем случае), чет- вертый параметр определяет тип значения атрибута, а если - длину стрики. Инициализация среды для установки соединения На втором этапе инициализации Вам получить идентификатор соединения типа SQL HAIlCiLE UBC, который создается в - . только что созданного иден- тификатора среды SQL HAIDLE,,£N\; SOLHDBC tiDbC = SQL NULL HDBC; Обратите внимание, что мы передаем значение функции SQLAUo с Handle через второй параметр идентификатор hilnv. имеющий тип SOL HANDLt E{i/ Теперь, после выполнения второго этапа инициализации, у нас уже есть два - hEnv (идентификатор среды выполнения) и hDbc (идентификатор среды соединения). Установка соединения Для установки соединения с источником данных Вам придется воспользоваться прототип которой приведен iifp.ip.o Z hConnection, , * SQLSMALLINT ServerNameLength, SQLCHAR * UssrP.jie, - . UserNameLength, SQLCHAR * Password, SQLSMALLINT Через первый параметр hConnection SQLConnect передается иденти- фикатор соединения типа : на втором этапе иници- ализации. Второй параметр ServerName определяетимясервера, ввидетексто- вой а третий (с названием Serve . - - длину этой строки. Ана- логично . UserName и Password задают имя пользователя и его пароль, а параметры UserNameLength и PasswLength - размер строк имени пользователя и пароля. Вот фрагмент текста выполняющий .; с источником данных Bookstore: а - : , + 1] = Bookstore ; UCHAR - szDSN, Подготовка и запуск команды Программный интерфейс ODBC возможностей для команд, однако, мы рассмотрим только один, связанный с использованием SQLExecDirect. ; команды с применением функции состоит из двух этапов. На первом нужно создать - . команды типа SOl,,HANRLESTHT, а на втором-выполнитькоманду, SQLExecDirect. Получение идентификатора команды Получение идентификатора команды реализуется обычным способом с применением ГС = . . hDbc, fchStmt); Обратите внимание на то, что идентификатор команды создается в контексте идентификатора соединения типа SELHAHrJEE ОВС поэтому через второй параметр мы перелаем функции SQLAllocHandle значение hDbc. Идентификатор liDbc был на . этапе инициализации. Запуск команды Для - команды на надо вызвать функцию SOLExecDireel, про- тотип которой расположен ниже: SQLINTEGER. Через первый параметр этой функции передается идентификатор команды типа второй - строка команды, ачерез третий - . . rrpaiiH команды. Если команда выполнена без ошибок, функция . .... ; значение или а при : значение SQLДNVALID HANDLE или . . что Вы получите : воз- врата .И SQL NEEO DATA возвращается при использовании так называемых параметров времени рагашеГег). Такой тип пара- метров предполагает использование для . данных функций SQLParamData и SQLPutData. Мы в своих не будем применять параметры исполнения. Значение возвращается при команд, не вызывающих создания наборов записей. К ним относятся, например, команды уда- ления или oбнoвJieния строк. А сейчас мы покажем пример вызова команды, выполняющей выборку полей ManacjcrlP. Name, Password, LaatLagaa и Rigiits из таблицы managers: , (const - в случае ycneinHoro соединения функция Sflli-onnect вернет . - SQLSUC-CESS или S(liSllCCESS l IITli IiFO. а при ошибке - значение SC : . -или SQL ERMR. гс = : (unsigned select Name, Password, Rights ~ managers , S3; В качестве длины строки, . . через послед- ний параметр, мы указали Эта константа означает, что дли- настроки закрывающим ее двоичным нулем. нам не надо определять длину строки команды явным образом при помощи такой как Обработка результата выполнения команды Если в результате выполнения команды создан набор записей, программа может его получить посредством соответствующих функций интерфейса ODBC. Однако перед тем как это сделать, она должна выполнить привязку полей набора клокальным переменным, определенным программы. Привязка полей к локальным переменным Такая выполняется функцией VariableType, VariableValuePtr, BufferSize, SQLINTEGER* cbSize); Параметр hStatement задает идентификатор команды, для которой выполняется привязка. Это как раз тот с использованием которого функция , выполняла команду. Через передать номер набора данных, созданного в результате выполнения команды. Если в наборе нет столбца bookmark, то нумерация выполняется, единицы, а если есть - то с нуля. ПараметрыУаг1аЬ1еТуреиУаг1аЬ1еУа1иеРГгзадают ;......,. , .. типло- кальной переменной, для которой привязка, и этой локаль- С помощью параметра В необходимо указать размер области памя- ти, отведеннойдлялокальной переменной с адресом VariableValuePtr (с учетом двоичного нуля, закрывающего текстовую строку). Это значение используется драйвером ODBC в качестве ограничителя, для тою чтобы избежать дан- ных за пределами Такая ситуация иногда возникает при извлечении из базы данных содержимого полей переменной длины. Значение параметра при . данных в ные длины типа целых чисел. Параметр cbSize бывает как входным, так и выходным. Он задает адрес .. ременной, в которую а; размер данных, функцией из- записей SQLEetch (или Функция использует этот параметр как входной. В качестве примера приведем фрагмент кода, выполняющего привязку алао го числового поля, одного текстового поля и одного поля, содержащего отметку о
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |