While dReader.Read
Response.Write(dReader.GetString(1))
Response.Write(" " & dReader.GetString(2))
Response.Write("<BR>")
End While
dReader.Close()
conn.Close()
End Sub
End Class
Обратите внимание на то, что в листинге 11.1 используются пространства имен
System. Data и System. Data. SqlClient, которые содержат все необходимые классы и методы для подключения и опроса базы данных. Учтите, что код в листинге 11.1 является вспомогательным кодом для Web-страницы default.aspx. Это значит, что Web-страница default.aspx не содержит его, а только отображает результат его выполнения. Полностью код Web-страницы default.aspx показан в листинге 11.2.
ЛИСТИНГ 11.2. КОД Web-страницы default.aspx<%@ Page Language="vb" AutoEventWireUp="false" Codebehind="default.aspx.vb" Inherits="Novelty.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForml</title>
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
</form>
</body>
</HTML>
В верхней части листинга располагается директива, которая сообщает механизму выполнения ASP.NET о необходимости использования вспомогательного кода из файла default.aspx.vb. После щелчка правой кнопкой мыши на файле default.aspx в окне Solution Explorer и выбора команды Build and Browse (Скомпоновать и просмотреть Web-форму) произойдет следующее. Во-первых, Web-форма скомпилируется в DLL-файл и при каждом последующем вызове этой Web-формы ASP.NET будет использовать ее откомпилированную версию. Во-вторых, откроется окно Web-броузера с отображением результатов выполнения кода, как показано на рис. 11.11. (Чтобы открыть проект данного примера и выполнить приложение, нужно разрешить совместное использование текущего каталога с файлами примера. При работе с операционной системой Windows 2000 для этого щелкните правой кнопкой мыши на имени каталога, т.е. Novelty в данном примере, и выберите в контекстном меню команду Sharing (Совместное использование). Затем выберите вкладку Web Sharing (Совместное использование в Web-среде), переключатель Share this folder (Совместно использовать данный каталог) и в диалоговом окне Edit Alias (Редактировать псевдоним) введите Web-имя каталога, т.е. Novelty в данном примере. — Прим. ред.)
РИС. 11.11. Результат отображения Web-формы default.aspx в окне Web-броузера
НА ЗАМЕТКVКоды всех примеров в данной книге можно скопировать с Web-страницы книги на Web-сервере Издательского дома "Вильямс" по адресу: www.williamspublishing.com.
Применение элемента управления DataGrid
В первых версиях набора инструментальных средств разработчика .NET Framework SDK для демонстрации примеров итерирования коллекции данных применялся пользовательский элемент управления DataGrid, который имеет очень мало или не имеет вообще ничего общего с элементом управления ActiveX. По сути, он означает использование в Web-форме некоторых шаблонных функций, которые выполняются в серверной части в целях создания HTML-кода для клиентской части. Эта технология обладает очень большими возможностями, поскольку позволяет создавать весьма сложную логику, связанную с пользовательским интерфейсом, в виде повторно используемого компилированного объекта, который полностью безопасен и совместим с любым типом Web-броузера. Дело в том, что серверные элементы управления в итоге создают HTML-код и вопросы совместимости полностью зависят от разработчика.
Элемент DataGrid является характерным примером элемента управления, который позволяет разработчику просто связать объект DataSet с объектом DataGrid и мгновенно получить визуальное представление данных. В листинге 11.3 показан пример создания базового запроса для заполнения данными элемента управления DataGrid. Для использования любого серверного элемента управления его нужно объявить, а после объявления его методы и свойства можно использовать так же, как любые другие объекты Web-страницы. Итак, здесь создается новая Web-форма WebGrid.aspx, которая содержит элемент управления DataGrid.
ЛИСТИНГ 11.3. Web-форма WebGrid.aspx<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace = "System.Data.SqlClient" %>
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebGrid.aspx.vb" Inherits="Novelty.WebGrid"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebGrid</title>
<%@
Dim connString As String
connString = "server=(local);database=Novelty;TRUSTED_CONNECTION=Yes"
Dim conn As New SqlConnection(connString)
Dim As New SqlCommand("SELECT * FROM tblCustomer", conn)
conn.Open()
Dim dReader As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
dataGrid1.DataSource = dReader
dataGrid1.DataBind
dReader.Close()