Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
voprosy_xit_i_otvety_s_portala.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
3.15 Mб
Скачать

76 Создание бизнес-объектов

Использование методов вашего объекта

I: <%8 Page Language="VB" %>

2: <%? Import Namespace="System.Data" %>

3: <%H Import Namespace="System.Data.OleDb" %>

4:

5: <script runat="server">

5: sub Page_Load(obj as object, e as eventargs)

7: dim objDatabase as new TYASPNET.Database

3:

Э: objDatabase.ConnectionString = "Provider=" &

10: "Microsoft.Jet.OLEDB.4.0;" & _

11: "Data Source=C:\ASPNET\data\banking.mdb"

12:

13: dim objReader as OleDbDataReader

H: objReader = objDatabase.SelectSQL _

15: ("Select * from tblUsers11}

16:

17: if not objReader is nothing then

18: DataGridl.DataSource = objReader

19: DataGridl.DataBind()

20: objReader.Close

21: end if

22: end sub

23:

24: </script>

25:

26: <html><body>

27: <asp:Label id=4blMessage" runat="server" />

to:

29: <asp:DataGrid id="DataGridl"

30: runat="serverH BorderColor="black"

31:: GridLines="Vertical" cellpadding="4"

32: cellspacing="0" width="100%"

33: Font-Name="Arialfl Font-Size3"8pt"

34:: HeaderStyle-BackColor="fcccc99"

35: ItemStyle-BackColor="lffffff"

36: AlternatingItemStyle-BackColor="#cccccc" />

37: </bodyx/html>

B строке 7 происходит объявление объекта базы данных, а в строке 9 — задание свойства ConnectionString. В строке 14 выполняется метод SelectSQL. Затем результаты выполнения этого метода берутся и размещаются в OleDbDataReader.

В случае ошибки функция SelectSQL передает назад значение nothing. Перед тем как что-то делать с объектом для чтения данных (data reader) в строке 17 проверяется, содержатся ли в нем какие-то результаты. Если содержатся, то эти данные связываются в строке 19 с объектом DataGrid, а в строке 20 объект для чтения закрывается.

Если приложение будет сложнее, то и бизнес-объект может существенно усложниться. тогда может получиться большая экономия времени.

получать данные с помощью этого объекта можно теперь в любой станице ASP.NET. Для соединения с другой базой данных можно задать другую строку соединения.

77 Пример бизнес-объекта. Важные замечания по примеру

Бизнес-объект — это любой объект приложения, предоставляющий доступ к открытым свойствам простых типов данных. Например, массив объектов «Название книги», созданный приложением, представляет бизнес-объект, который может использоваться в качестве источника данных для отчета.

Во многих Web-узлах есть области, доступные только для зарегистрированных пользователей, или же в этих узлах для каждого такого пользователя содержимое подбирается индивидуально.

Нужно следующее:

• объект, удостоверяющий личность пользователя; этот объект содержит имя (first name) и фамилию (last name), пользовательское имя (user name), идентификатор пользователя (user ID) и так далее;

• методы для добавления, удаления и обновления пользователей;

• методы для проверки пользователей.

В объекте UserDetail будут храниться личные данные, а в объекте User — выполняемые операции.

В строке 80 находится ключевое слово with объект. Оно означает, что все находящиеся за ним переменные, перед каждой из которых стоит точка, принадлежат этому объекту.

Эта SQL-команда, update, создается в строке 99, а выполняется уже в блоке try. Если она выполнится успешно, то функция Update передаст назад значение true.

• Когда пользователь впервые попадает на эту страницу, он видит приветственное •юбщение со значением UserID, равным 1.

ЧГ Когда пользователь вводит в поле новое имя и щелкает на кнопке Подтвердить (Submit), то управление переходит к методу Update. Этот метод для нового объекта UserDetails присваивает свойству имени новое значение и вызывает метод User.Update. Если обновление (update) было успешным, то этот вызванный метод передает назад значение true и отображает приветственное сообщение с новым именем.

Несколько замечаний

  • Обратите внимание, что в своем файле user.vb вы "зашили в код" несколько значений — таких, например, как строка соединения. Однако переменные такого вида к бизнес -объекту не привязывают, а держат в отдельном файле конфигурации — таком, например, как web.config. Тогда бизнес-объект легко может получать строку соединения с помощью метода GetConfig объекта. Таким образом, приложение становится во много раз более гибким: его не приходится перекомпилировать при каждом изменении базы данных.

  • бизнес-объект должен зависеть от формата базы данных, но не от ее физического расположения.

  • все команды SQL можно также перенести в хранимые процедуры. Тогда объект может просто передавать этим процедурам определенные параметры.

  • Создавая бизнес-объекты, всегда думайте над тем, как разумно отделить выполняемые действия друг от друга.

  • не заставляйте какой-либо объект выполнять слишком много действий. можно иметь два объекта, связанные друг с другом.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]