Рейтинговые книги
Читем онлайн Обработка баз данных на Visual Basic®.NET - Джеффри Мак-Манус

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 78 79 80 81 82 83 84 85 86 ... 88

Imports System.Data.SqlClient

Public Class WebForm1

 Inherits System.Web.UI.Page

#Region " Web Form Designer Generated Code "

 ' Этот вызов организован мастером Web Form Designer.

 <System.Diagnostics.DebuggerStepThrough()> _

 Private Sub InitializeComponent()

 End Sub

 Private Sub Page_Init(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles MyBase.Init

  ' CODEGEN: Вызов этого метода организован мастером

  ' Web Form Designer.

  ' He редактируйте этот код вручную с помощью окна редактирования.

  InitializeComponent()

 End Sub

#End Region

 Dim connString As String

 Private Sub Page_Load(ByVal sender As System.Object, _

  ByVal e As System.EventArgs) Handles MyBase.Load

  ' Указание строки подключения.

  connString = "server=(local);database=Novelty; TRUSTED_CONNECTION=Yes"

  ' Это вся информация, которая нам нужна

  ' для подключения к базе данных. Кроме того, если

  ' кто-то сможет получить доступ к коду этого файла,

  ' он не сможет использовать полученные сведения

  ' для регистрации входа в базу данных.

  ' Извлечение системной ссылки на указанную строку подключения.

  ' Это позволяет .NET проверить наличие данной строки

  ' в куче. Если её нет, то создаётся её экземпляр в

  ' оперативной памяти и возвращается ссылка

  ' на нее, а если есть, то возвращается ссылка на нее.

  String.Intern(connString)

  ShowCustomers()

 End Sub

 Private Sub ShowCustomers()

  ' Это простой пример использования функции,

  ' которая извлекает данные из таблицы tblCustomer

  ' и отображает их.

  ' Инициализация объекта подключения строкой

  ' подключения.

  Dim conn As New SqlConnection(connString)

  ' Затем инициализация объекта-команды

  ' строкой выполняемой команды SQL.

  Dim cmd As New SqlCommand("SELECT * FROM tblCustomer", conn)

  conn.Open()

  Dim dReader As SqlDataReader = _

   cmd.ExecuteReader(CommandBehavior.CloseConnection)

  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()

 conn.Close()

%>

  <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://schemes.microsoft.com/intellisense/ie5">

 </HEAD>

 <body MS_POSITIONING="GridLayout">

  <form id="Form1" method="post" runat="server">

    <asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 179px; POSITION: absolute; TOP: 73px" runat="server" Width="640px" Height="480px" BackColor="#fffff5" BorderColor="black" ShowFooter="true" CellPadding="1" CellSpacing="1" Font-Name="Arial" Font-Size="8pt" HeaderStyle-BackColor="#c0c0c0" EnableViewState="false">

    </asp:DataGrid>

   </form>

 </body>

</HTML>  

После выполнения этого кода по отношению к базе данных Novelty полученные результаты будут иметь такой вид, как на рис. 11.12. 

РИС. 11.12. Внешний вид Web-формы WebGrid.aspx

Серверный элемент управления предлагает способ отображения данных без создания вручную какого-либо кода, связанного с механизмом отображения данных. Учтите, что серверные элементы управления в большинстве своем созданы на основе фрагментов Web-страниц, или пэйджлетов (рagelet). Они не являются полноценными ASPX-страницами, имеют расширение .as и представляют только некоторые разделы Web-страницы, например повторно используемую форму или код, который применяется для отображения сообщения об ошибке и является частью более общей Web-страницы с информацией о происходящих ошибках. Такие серверные элементы управления позволяют выполнять практически любые функции с помощью Web-ориентированного пользовательского интерфейса.

1 ... 78 79 80 81 82 83 84 85 86 ... 88
На этой странице вы можете бесплатно читать книгу Обработка баз данных на Visual Basic®.NET - Джеффри Мак-Манус бесплатно.

Оставить комментарий