46251 (Использование пакета Cold Fusion для MS Windows при построении WWW - интерфейсов к базам данных), страница 2

2016-08-02СтудИзба

Описание файла

Документ из архива "Использование пакета Cold Fusion для MS Windows при построении WWW - интерфейсов к базам данных", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "46251"

Текст 2 страницы из документа "46251"

Для динамической настройки SQL - выражения можно использовать параметры, переданные в шаблон. Это могут быть параметры, переданные из формы, URL, а также переменные CGI. Параметры, используемые внутри SQL - выражения, должны быть обрамлены символом "#" (например #Name#). При обработке запроса Cold Fusion ищет параметр с таким именем среди параметров, полученных из формы, в URL или среди переменных CGI. При нахождении подходящего параметра его значение подставляется вместо соответствующей ссылки на параметр.

Примеры использования параметров в SQL -выражении

Пример 1
Предположим что обрабатывается URL

"/cgi-shl/dbml.exe?Template=prs.dbm&Id=22",

а атрибут SQL в DBQUERY имеет вид

SQL="select * from Persons where Id = #Id#",

тогда в базу данных будет передано следующее SQL - выражение:

select * from Persons where Id = 22 .

Пример 2
Предположим, что в шаблон передан параметр FirstLetters и нужно найти в таблице Persons записи, в которых первые буквы в поле FullName совпадают со значением этого параметра. Значение атрибута SQL в этом случае будет следующим:

SQL="select * from Persons
where FullName like '#FirstLetters#%'"

Следует обратить внимание на то, что маска, состоящая из параметра и символа '%', в отличие от предыдущего примера, обрамлена одинарными кавычками. Это связано с тем, что поле Id из примера 1 имеет числовой тип, а поле FullName - текстовый тип (синтаксис SQL требует, чтобы текстовые значения всегда были обрамлены одинарными кавычками).

Для того чтобы задать маску, в примере использовался символ '%', который в SQL - запросах соответствует произвольной последовательности символов. Также для определения маски может использоваться символ '_' (подчерк), соответствующий одному произвольному символу.

5.8 Использование результатов запроса для динамического создания HTML - документа

Для вывода данных возвращаемых в результате выполнения запроса определенного в DBQUERY применяется тег DBOUTPUT. Внутри этого тега, связанного с конкретным запросом, может находиться обычный текст, теги HTML, ссылки на поля определенные в запросе. При обработке шаблона, содержимое тега DBOUTPUT отправляется клиенту для каждой записи, возвращаемой в результате выполнения запроса, с подстановкой соответствующих значений параметров и полей.

Тег DBOUTPUT имеет следующий синтаксис:


Текст, теги HTML,
ссылки на поля и параметры (т.е. #Name#)

Атрибут QUERY применяется для указания имени запроса DBQUERY, результат выполнения которого будет использоваться, а атрибут MAXROWS определяет максимальное количество записей этого запроса, которые будут переданы для вывода в тег DBOUTPUT.

Пример
Для вывода результата выполнения запроса с именем 'AllPersons', отображая имя персоны и телефон, и разделяя записи горизонтальной линией, может использоваться следующая конструкция:




#FullName# (Телефон: #Phone# )

Результат обработки этого тега будет иметь вид:



Иванов Иван Иванович (Телефон: 222-22-22 )



Петров Петр Петрович (Телефон: 444-44-44 )

5.9 Вывод результата выполнения запроса в виде таблицы

Теги DBTABLE и DBCOL всегда употребляются вместе для отображения результата выполнения запроса в виде таблицы.

Атрибуты тега DBTABLE:

 

 QUERY

- имя DBQUERY, для которого нужно отобразить данные;

 MAXROWS

- максимальное количество записей, которое может быть отображено в таблице;

 COLSPACING

- количество пробелов, которые будут вставлены между колонками (по умолчанию 2);

 HEADERLINES

- количество строк, которые будут отведены для заголовка (по умолчанию 2);

 HTMLTABLE

- при наличие этого тега результат запроса будет отображен в виде HTML - таблицы, в противном случае будет использован тег HTML

.

 BORDER

- используетя только вместе с атрибутом HTMLTABLE для отображения рамки в таблице.

Атрибуты тега DBTABLE:

 

 HEADER

- текст, который будет выводиться как заголовок колонки;

 WIDTH

- ширина колонки в символах (по умолчанию 20);

 ALIGN

-выравнивание содержимого колонки (LEFT, RIGHT и CENTER);

 TEXT

-заключенный в кавычки текст, определяющий содержимое колонки, в котором могут находиться те же теги, ссылки на параметры и др., что и в теге DBOUTPUT.

Приведем пример использования тегов DBTABLE и DBCOL:





5.10 Дополнительные замечания по созданию DBML - шаблонов

  • В шаблонах DBML, для комментариев, используется три тире (