базой данных и экземпляры бизнес-объектов, объявленные через узлы
class и database. Для перехвата ошибок в ProcessRequest служит конструкция try...catch...finally. В блоке finally объектный словарь просматривается, и все соединения с базами данных закрываются.
После объявления базы данных можно определять запросы с помощью узла query. В нем указывается соединение, для которого формируется запрос, и тип запроса (например текст или хранимая процедура). Текст узла должен представлять запрос или хранимую процедуру, возвращающую XML. В узел query может быть вложено несколько узлов parameter. Вог как выглядит узел query с дочерним узлом parameter из приложения-примера:
<skin: query var="nwind" type="Te>;t">
<skin:parameter name="9pr<?dl(>" datatype="varchar" size="30" key=":ld" coltection=-querystring" />
SELECT * FROM Products productinfo
WHERE productlD = eprodID FOR XML AUTO </skin:query>
В этом узле query параметр передается как элемент id строки
запроса. Параметр позволяет сослаться на любой набор запросов и указать значение по умолчанию, которое следует использовать, если указанного элемента в наборе нет.
Код, обрабатывающий данный узел, создает объект исполь-
зуя указанный экземпляр SqlConnection и текст команды. Затем он перебирает все дочерние узлы в поисках узлов parameter. Найденные узлы parameter преобразуются в объекты-параметры и добавляются в список параметров Sqit'oiimv.md. По завершении обработки команда исполняется через ExecuteXmlReader вспомогательной функцией Execute из класса SkinUtil
