Выбрать главу

РИС. 11.7. Диалоговое окно для низкоуровневого указания разрешений пользователя

9. Убедитесь в том, что выбран переключатель List all objects (Перечислить все объекты), и прокрутите список до конца, чтобы увидеть все таблицы из базы данных Novelty. Установите флажки всех таблиц в столбце SELECT (рис. 11.8). Флажок означает разрешение на выборку данных из данной таблицы, а крестик — запрет на выборку данных. 

РИС. 11.8. Диалоговое окно для установления разрешений на основные операции с таблицами

10. На этом этапе установите также флажок в столбце INSERT для таблицы tblOrder, как показано на рис. 11.9. Это позволит покупателям создавать заказы.

РИС. 11.9. Установка разрешения на операции вставки в таблицу tblOrder

После выполнения этих действий для закрытия этого и двух других диалоговых окон щелкните на кнопке OK в каждом из них. После этого в списке учетных записей Logins в окне программы SQL Server Enterprise Manager появится пользователь ASPNEТ (рис. 11.10).

Рис. 11.10. Список учетных записей Logins в окне программы SQL Server Enterprise Manager

(Учтите, что в данном случае на рис. 11.10 показана учетная запись ASPNET, созданная на компьютере PRICEKW2KLT2 автора книги. — Прим. ред.)

Итак, учетная запись ASPNET включена в список учетных записей SQL Server. В следующем разделе показано, как ее использовать для подключения к базе данных без указания в строке подключения какой-либо информации об имени и пароле учетной записи.

Применение параметра 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)