Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Вебмастеру -> Сеппа Д. -> "Microsoft ADO.NET" -> 237

Microsoft ADO.NET - Сеппа Д.

Сеппа Д. Microsoft ADO.NET — М.: Русская Редакция, 2003. — 640 c.
ISBN 5-7502-0223-2
Скачать (прямая ссылка): mcrsftado2003.pdf
Предыдущая << 1 .. 231 232 233 234 235 236 < 237 > 238 239 240 241 242 243 .. 260 >> Следующая

упорядочивает их по столбцам Country и CustomerlD. Вот более универсальный синтаксис таких запросов:
SELECT TOP РаэмерСтраницы Поле1, Поле2, FROM Таблица
WHERE ПолеКлюча NOT IN
(SELECT ТОР ЧислоПрОпуСкаемыхЗаписеЙ ПолеКлюча FROM Таблица ORDER BY
РорядокСорти ров ки) ORDER BY ПорядохСортироеки
И БД SQL Server, и Access поддерживают разделы ТОР и NOT IN. Тем не указанные разделы поддерживаются далеко не всеми БД, и следовательно, их нельзя считать универсальным решением. Например, БД Oracle не поддерживают раздел ТОР.
БД Oracle предоставляют функцию, аналогичную по возможностям разделу ТОР — rownum. Oracle нумерует возвращаемые запросом записи, поэтому с помощью функции rownum вы получите только первые п записей набора результатов. Тем не менее Oracle генерирует номера записей до сортировки результатов запроса, а значит, чтобы с помощью функции rownum часть записей за-
проса, в котором определен порядок сортировки, нужно прибегнуть к маленькой хитрости. Немного обмана и пара подзапросов — и с помощью функции rownum вы вернете нужную часть записей запроса, использующего порядок сортировки, Так, следующий Oracle-запрос возвращает 41 — 50 записи таблицы Customers:
SELECT CustomerlD, CompanyName, ContactName, Country FROM
(SELECT CustomerlD, CompanyName, ContactName, Country,
irownum AS Row_Num FROM
(SELECT CustomerlD, CompanyName, ContactName, Country
FROM Customers ORDER BY Country, CustomerlD)
ГЛАВА 14 Создание эффективных Web-приложений 551
where rownum <= 10)
where R0W_MEJM > 40
Примечание Я не считаю себя знатоком СУБД Oracle. Возможно, есть более простой способ создавать такие запросы для БД Oracle.
Приложение PagingOptions
На прилагаемом к книге компакт-диске записано Web-приложение PagingOptions. В нем применяются различные средства, позволяющие пользователю постранично перемещаться по результатам запроса. В каждом случае данные и ссылки на сгр.шпн.ь; выводятся средствами элемента управления DaiaGrkt На одной из страниц постраничная разбивка данных осуществляется средствами DataGrid. Другие сарамчиы кэнаипукуг данные в объекты а также в БД. Есть стра-
ница, получающая с помощью подзапросов нужные данные из БД, страница, записывающая в БД результаты оригинального запроса, а также страница, получающая эти записанные результаты.
Редактирование данных на Web-странице
Мы обсудили простой способ вывода данных на Web-странице. А как создать Web-ст;и»ж>цу, позволяющую редактировать представленные на ней данные?
Редактировать данные на Web-странице гораздо сложнее, чем на Windows-форме. Помните: элементы управления Web-страницы, связанные с данными, ге-пгрпр'.ал III Ml.-код на основе источника данных. Если вы выводите данные при помощи связанного элемента управления TextBox и пользователь изменяет его содержимое, это не отразится автоматически на содержимом источника данных. Для создания Web-страницы, допускающей редактирование данных, нужно вывести данные, предоставить ло.гэйоаат;:л:0 возможность изменить их и затем заставить отреагировать на эти изменения и предпринять соответствующие действия.
Природа Web-прпаоженг.п. исключающая хранение сведений о состоянии, еще больше усложняет создание Web-страниц, позволяющих пользователю редактировать данные. Скажем, вы содержимое записи данных с помощью нескольких элементов управления TextBox. Как, после того как пользователь изменит содержимое записи и щелкнет кнопку найти нужную запись и внести в нее соответствующие изменения? Кэшировали ли вы при помощи объекта DahiSei где-нибудь данные, скажем, в объекте ViewState или ШМШТребуется ли вам обратиться к БД, чтобы повторно выбрать нужную запись данных? Как определить, изменились ли данные с момента первого обращения к ним пользователя?
Упрощение редактирования данных
при помощи элемента управления DataGrid
Не будем рвать с места в карьер. Для начала как с помощью элемента
управления DataGrid реализовать на Web-странице функции, позволяющие выои-
552
Часть IV Создание эффективных приложений с использованием ADO NET
рать и редактировать данные. Наша цель — создать \?еЬ-страницу, аналогичную показанной на рис. 14-4.
WM |ii «ч. ;iWJ^»»««au^D^c««»«*i»; ВО:
Kw.tt: of loffif 5
ТМ&СямГОМжЯг 00 | Submit ] ismaai4p-,.!:j i
FtmhiriN-wi* 1 IUI .¦ Itrmtutul
"Own SM M Update ¦ C*

• IUOO .!*]
Lumberjack 11« ™ ш
4
4
Рис. 14-4. Пример Web-страницы, позволяющей редактировать данные
¦э
NT 1.Г :
"3
L
3
Рис. H-5. Задание параметров редактирования данных
в диалоговом окне Property Builder элемента управления DataGrid
Точно так же, как DataGrid упрощает создание пользовательского интерфейса для постраничного представления luifjn .пмапио. этот элемент управления упрощает : ¦ пользовательского интерфейса, позволяющего выбирать и редактировать записи. Щелкните элемент управления DataGrid в среде Visual Studio .NET правой кнопкой и выберите в контекстном меню команду Property Builder. Откро-
ГЛАВА 14 Создание эффективных Web-приложений 553
ется диалоговое окно (рис. 14-5), в котором можно отобрать нужные столбцы
Предыдущая << 1 .. 231 232 233 234 235 236 < 237 > 238 239 240 241 242 243 .. 260 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100