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

1 ... 42 43 44 [ 45 ] 46 47 48 ... 141


Константа Направление передачи данных

Входной параметр. Используется по умолчанию Выходной параметр

Параметр и как входной, и как

Через 3I0I передастся

Через последние два параметра методу . передаются соответ-

ственно размер области памяти, занимаемой параметром, и значение этого параметра. В нашем случае все параметры собой текстовые размером не более 50 байт. Параметры User и Pass имеют значение admin и соответственно, а параметр Riglits задается как символ пробела (это выходной параметр).

создания очередного параметра класса Parameter его нужно добавить набор Parameters. Эта задача выполняется мри помощи метода Append, опреде-в Parameters.

В приведенном нами примере создаются и добавляются три

параметра. Выходной параметр добавляется в два приема, хотя можно было бы создавать же образом, как и параметры.

Как получить значение параметров после выполнения команды?

Это делается простым обращением к свойству value параметра:

Здесь мы запустили на команду г,я<1 а затем получили значение

выходного параметра (обработка ошибок опугцена для этот процесс

описан позже).

Объект Recordset

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

строк SQL, в данной

Когда Вы запускаете команду методом Execute, метод возвращает Вам объект созданный в результате ее (конечно, если данная команда

генерирует упомянутую выше таблицу).

Объект Recordset - это набор, состоящий из набора Eields. Последний, в свою очередь, из объектов Eield (рис. 4-3).

Вы можете извлечь любую запись из набора Recordset, пользуясь набором Eields и объектом

Как это сделать?

метода CreateParameter дан-

ных через соответствующий параметр команды Параметры и Pass ные, а Rights - выходной. Для обозначения используется

константа Выходные обозначаются adParam-

Oiitpyt,

Полный список констант направления передачи данных в табли-

це- 4-3.

Таблица 4-3. Константы для указания направления передачи данных



Fields

Field

Рис. 4-3. Набор Recordset

При создании объекта автоматически создается связанный

таблицей, полученной в результате : команды. Методы объекта Record-

set позволяют тип курсора только для чтения,

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

Предположим, нам нужно отобразить па странице ASP список книг, отобранных Интернет-магазина. Мы подготовили хранимую получающую в качестве входного параметра имя клиента ClientID и возвращающую список отобранных книг как результат выполнения оператором

CREATE PROCEDURE . AS

DECLARE INT

SELECT FROM clients WHERE

SELECT mu orders JOIN books ON

WHERE -

Эта процедура будет рассмотрена позже. Сейчас нам важно толь-

ко то, что она получает один входной ClientID, а возвращает таблицу,

содержащую пять столбцов books: bookslD, Author, Title, Publisher и

Price (это как рая тот интерфейс приложением и базой который

нужен для программы от данных).

Для хранимой процедуры ListOrders мы используем следующий фраг-

мент , U сценария:

var connect, rs, nmd, ClientID; connect =

= 15;

, = 10;

cmd =

.: = Listjrters ,

= connect;

ClientID , adVarChar, a 50,



<fiTNL> <BODY>

while

Т Г1ГЧШ1 ДЛЯ iOKyn><i</h2>

<td>

<i=rs. Fields(f ieliiPrice)$> y. e. </td>

</tr->

</T,\BLF> <x

Здесь мы создаем таблицу и записываем в ее ячейки содержимое полей текущей записи (на которую указывает курсор), обращаясь к четырем из пяти столбцов.

Перемещение курсоранаследующуюзаписьвыполняетсяметодомМоуеМех1, . в . . : . : ... Чтобы проверить условие завершения цикла, наш сценарий обращается к свойству г S. ЕОЕ.

Таким образом, нри каждом неремещении курсора мы получаем доступ к очередной строке таблицы, созданной в результате вызова хранимо процедуры EistOrders. /tin извлечения содержимого отдельных полейте кущей строки мы используем набор Eields. Элементы этого набора собой объек-

ты Eield) соответствуют полям текущей строки: первый (с индексом 0)

соответствует первому столбцу (booksID), второй - второму и т. д.

Заметим, что во многих случаях удобнее обращаться к нолям набора записей не по номерам а по именам:

внимание на последнюю строчку: возвращенное i , .

Execute, присваивается rs. Эта - хранит объект Recordset,

в результате выполнения хранимой процедуры EistQrders. Мы ; что хранимая - возвращает таблицу с пять )

колонками. Чтобы было удобнее обращаться к : .. мы определили в сво-

ем сценарии пять переменных:

var fieldbooksID = 0;

var fli,ldAi.thoi = 1

var fieldTitle = 2

var HeldPLbl.isher = 3

var flelciorlce = 4

Теперь мы должны получить все строки Bo,fn();i!Htiiiu>fi таблицы, персл.гшш. курсор и обращаясь к объектам Eield:



1 ... 42 43 44 [ 45 ] 46 47 48 ... 141

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