Чтение онлайн

ЖАНРЫ

Обработка баз данных на Visual Basic®.NET

Прайс Кевин Т.

Шрифт:

Далее в поле со списком Database (База данных) выберите базу данных Novelty, как показано на рис. 9.9. Учтите, что в нем перечислены те базы данных, которые соответствуют параметрам подключения и режиму безопасности.

Выберите вкладку Settings (Параметры) и установите флажки параметров Allow URL queries (Разрешить запросы в URL-указателях), Allow template queries (Разрешить запросы из шаблонов) и Allow XPath (Разрешить Xpath-запросы), как показано на рис. 9.10.

Наконец, выберите вкладку Virtual Names (Виртуальные имена). Щелкните на кнопке New в области окна Defined virtual names (Заданные виртуальные имена). В текстовом поле Virtual Name (Виртуальное имя) диалогового окна Virtual Name Configuration (Конфигурация виртуального имени) введите имя templates.

В поле со списком Туре (Тип) выберите тип Template (Шаблон), а в текстовом поле введите c:\inetpub\wwwroot\novelty\templates, как показано на рис. 9.11. Для сохранения указанных параметров щелкните на кнопке Save.

РИС. 9.9. Параметры источника данных

РИС. 9.10. Вкладка Settings 

РИС. 9.11. Диалоговое окно Virtual Name Configuration

После этого диалоговое окно New Virtual Directory Properties будет иметь вид, показанный на рис. 9.12. Щелкните на кнопке OK для его закрытия.

Таким образом, успешно сконфигурирован виртуальный каталог с помощью IIS. Теперь можно корректно выполнять SQL-запросы к базе данных SQL Server. Если дважды щелкнуть на узле Default Web Site в левой части диалогового окна IIS Virtual Directory Management for SQL Server программы Microsoft Management Console, то его правая часть будет иметь такой вид, как на рис. 9.13. Закройте диалоговое окно IIS Virtual Directory Management for SQL Server. 

Рис. 9.12. Диалоговое окно New Virtual Directory Properties после конфигурирования виртуального каталога

Рис. 9.13. Диалоговое окно IIS Virtual Directory Management for SQL Server программы Microsoft Management Console после конфигурирования параметров Web-узла Novelty

Результаты конфигурирования

Рассмотрим теперь, что же получилось в результате конфигурирования параметров Web-узла Novelty. Откройте Web-броузер Internet Explorer версии 6.0 или выше. Полученный результат будет выглядеть, как показано в листинге 9.4. Файл simple2.xml был создан именно так. Введите приведенный ниже URL-указатель для просмотра структуры файла.

http://localhost/Novelty?sql=select top 10 * from tblCustomer FOR XML AUTO&root=customer

Обратите внимание, что параметр root в конце данного URL-указателя содержит корневой элемент XML-документа. Без него довольно трудно отображать результаты HTTP-запросов в окне Web-броузера.

Применение XML, XSLT и SQLXML для создания отчета

Попробуем теперь применить описанные ранее сведения в практической ситуации, например для создания списка адресов клиентов. Как будет показано далее, изменение HTML-содержимого с помощью XSL-файла не вызывает больших трудностей. Поэтому такой способ часто применяется для форматирования страниц, которые предполагается распечатать, или вместе с JavaScript/ASP.NET для повышения функциональности и надежности.

SQL Server предоставляет данные в формате XML, а для сохранения запроса используется шаблон в файле noveltytemplate.xml. Единственным назначением этого файла является сбор данных и присвоение страницы стиля.

<?xml version =1.0' encoding='UTF-8 '?>

<root xmlns:sql='urn:schemas-microsoft-com:xml-sql' sql:xsl='noveltyxsl.xsl' >

 <sql:query>

SELECT FirstName, LastName, Address, City, State FROM tblCustomer FOR XML AUTO

 </sql:query>

</root>

В

первой строке задается базовый XML-документ и способ связывания со страницей стиля, который аналогичен применению элемента xml:stylesheet в листинге 9.2. Следующий элемент sql:query является контейнером команды SQL или выполняемого запроса. Предложение FOR XML AUTO сообщает SQL Server о возвращении результатов в формате XML. В шаблоне предполагается, что корневой элемент называется root, поэтому его не нужно указывать в шаблоне запроса.

НА ЗАМЕТКУ

Для динамического присвоения страницы стиля с помощью SQLXML нужно добавить в URL-указатель параметр запроса xsl= и указать используемый файл в форматефайла_стиля.xsl.

 В листинге 9.7 показана страница стиля XSL, которая используется для создания итогового XML-документа. Для указания атрибута в ней применяется технология XPATH. С помощью синтаксиса CSS и HTML создается формат представления извлеченной информации в окне Web-броузера.

ЛИСТИНГ 9.7. Файл noveltyxsl.xsl

<?xml version='1.0' encoding='UTF-8'?>

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

 <xsl:template match = '*'>

<xsl:apply-templates />

 </xsl:template>

 <!-- Имя запрашиваемой таблицы извлекается из дочерних элементов.
– ->

 <xsl:template match = 'tblCustomer'>

<TR>

<!-- Обратите внимание на использование XPATH для сбора данных из полей.
– ->

<TD><xsl:value-of select='@FirstName' /></TD>

<TD><xsl:value-of select='@LastName' /></TD>

<TD><xsl:value-of select='@Address' /></TD>

<TD><xsl:value-of select='@City' /></TD>

<TD><xsl:value-of select='@State' /></TD>

</TR>

 </xsl:template>

 <xsl:template match = '/'>

<HTML>

<HEAD>

<STYLE>th {background-color: #000080; color: #ffffff;} td {font-family: Arial} </STYLE>

</HEAD>

<BODY>

<TABLE border='1' style='width:600;'>

<TR><TH colspan='9' >Customers</TH></TR>

<TR>

<TH>First name</TH>

<TH>Last name</TH>

<TH>Address</TH>

<TH>City</TH>

<TH>State</TH>

</TR>

<xsl:apply-templates select = 'root' />

</TABLE>

</BODY>

</HTML>

Поделиться с друзьями: