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

Применение параметра TRUSTED_CONNECTION

Применение параметра TRUSTED_CONNECTION

Продемонстрируем теперь применение параметра TRUSTED_CONNECTION для подключения к базе данных и выполнения простого запроса с помощью технологии ASP.NET. Запустите интегрированную среду разработки приложений Visual Studio .NET и создайте новый проект ASP.NET Web Application. Для этого в диалоговом окне New Project (Новый проект) выберите тип проекта Visual Basic Project в области Project Types (Типы проектов) и шаблон ASP.NET Web Application (Приложение на основе ASP.NET Web-форм) в области Templates (Шаблоны).

Переименуйте автоматически созданный файл WebForm1.aspx и укажите для него новое имя default.aspx, щелкнув на имени правой кнопкой мыши и выбрав команду Rename (Переименовать) в контекстном меню, а затем отредактировав выделенное имя. Эта Web-форма будет используемой по умолчанию Web-страницей данного каталога. (Впоследствии в эту Web-форму будут постепенно вноситься другие изменения.)

Для начала рассмотрим код в листинге 11.1 с очень простым примером подключения к базе данных с помощью учетной записи ASPNET, выборки данных с помощью запроса на основе команды SELECT и отображения результатов запроса на Web-странице.

ЛИСТИНГ 11.1. Вспомогательный КОД Web-формы default.aspx.vb

Imports System.Data
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 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.

Оглавление книги


Генерация: 1.339. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз