Книга: Обработка баз данных на 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.