|
Программирование >> Руководство по созданию web приложений
Константа Направление передачи данных Входной параметр. Используется по умолчанию Выходной параметр Параметр и как входной, и как Через 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:
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |