Знакомство с ASP.NET

Что еще нужно знать об ASP.NET

Взаимодействие с клиентом

Создание интерактивных приложений для intranet-сетей

Расширение функциональных возможностей intarnet

Создание спортивного Web-узла

Управление содержимым Web-узла

Отслеживание действий посетителейa

Виртуальный университет

 Использование специализированных приложений на узлах компаний

Виртуальная риэлтерская контора

Персонализация узла для посетителей

Интерактивные возможности узла

Увеличение посещаемости узла

Создание интерактивного магазина

Создание интерактивного аукциона

Web-службы

Справочник по языку ASP.NET/VB.


Сайт создан по материалам книги Г. Бучека "Учебный курс по ASP.NET". Москва: BHV, 2002.

Создатель сайта-выпускник курсов web-дизайнеров Сафоновского Колледжа Информационных Технологий Максим Котликов


Проект Закладки
Проект Регистрация
Проект Предпочтения


Данная процедура является единственной на странице. Она отвечает за помещение данных о новом пользователе в базу данных.

    Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBCommand As OleDbDataAdapter
    Dim DSLogin as New DataSet
    Dim DBInsert As New OleDbCommand
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC12;" _
    & "User Id=sa;" _
    & "Password=yourpassword;")
    DBCommand = New OleDbDataAdapter _
    ("Select Count(UserlD) as TheCount " _
    & "from Users Where " _
    & "UserName = '" & txtUserName.Text _
    & "'", DECo'nn)
    DBCommand.Fill(DSLogin, _
    "TheCount")
    If DSLogin.Tables("TheCount")._
    Rows (0),.Item("TheCount") = 0 Then
    DBInsert.CommandText = "Insert Into Users " _
    & "(UserName, Password, EmailAddress) " _
    & "values (" _
    & "'" & txtUserName.text & "', " _
    & "'" & txtPassword.text & "', " _
    & "'" & txtEmailAddress.text & "')"
    DBInsert.Connection = DBConn
    DBInsert.Connection.Open
    DBInsert.ExecuteNonQuery()
    DBCommand = New OleDbDataAdapter _
    ("Select UserlD from Users Where " _
    & "UserName = '" & txtUserName.Text _
    & "' and Password = '" & txtPassword.Text _
    & "'", DBConn)
    DBCommand.Fill(DSLogin, _
    "Userlnfo")
    Session("UserlD") = DSLogin.Tables("Userlnfo"). _
    Rows(O) .ItemC'UserlD")
    Response.Redirect("./success_login.aspx")
    Else IblMessage.Text = "Данное имя пользователя уже " _
    & " имеется в базе данных. Пожалуйста, " _
    & "введите другое имя."
    End If
    End Sub

Сначала проверяется наличие в базе указанного имени пользователя:

    DBCommand = New OleDbDataAdapter _
    ("Select Count(UserlD) as TheCount " _
    6 "from Users Where " _
    & "UserName = '" & txtUserName.Text _
    & "'", DBConn)
    DBCommand.Fill(DSLogin, _
    "TheCount")

Если такое имя пользователя не обнаружено, переменная TheCount получает нулевое значение:

    If DSLogin.Tables("TheCount"). _
    Rows(O).Item("TheCount") = 0 Then

В этом случае данные нового пользователя помещаются в базу данных:

    DBInsert.CommandText = "Insert Into Users " _
    & "(UserName, Password, EmailAddress) " _
    & "values (" _
    & "'" & txtUserName.text <"',"_
    4 "'" & txtPassword.text & "', " _
    & "'" & txtEmailAddress.text & "')"
    DBInsert.Connection = DBConn
    DBInsert.Connection.Open
    DBInsert.ExecuteNonQuery()

Затем из базы данных извлекается идентификационный код нового пользователя:

    DBCommand = New OleDbDataAdapter _
    ("Select UserlD from Users Where " _
    & "UserName = "' & txtUserName.Text _
    $ "' and Password = '" & txtPassword.Text _
    & ""', DBConn)

помещается в объект DataSet:

    DBCommand.Fill(DSLogin, _
    "Userlnfo")

и присваивается переменной сеанса — в таком случае он может быть использован другими страницами:

    Session("UserlD") = DSLogin.Tables("Userlnfo").
    Rows(O).Item("UserID")

В завершение посетитель направляется на страницу Успешная регистрация:

    Response.Redirect(",/success_login.aspx")

Если указанное имя пользователя уже имеется в базе данных, посетитель уведомляется об этом и ему предоставляется возможность задать другое имя пользователя:

    IblMessage.Text = " Указанное имя пользователя уже " _
    & "имеется в базе данных. Пожалуйста, " _
    & "введите другое имя."

Изменение кода для Access

Для того чтобы получить возможность работать с базой данных Access (а не с базой SQL Server), вам понадобится строку связи

    DBConn = New OleDbConnection ("Provider=sqloledb; " _
    & "server=localhost; " _
    & "Initial Catalog=INETC12;"
    & "User Id=sa;" _
    & "Password=yourpassword; ")

изменить таким образом, чтобы в ней был задан соответствующий провайдер и нужная база данных:

    DBConn = New OleDbConnection ("PROVIDER=Microsof t . Jet. Oledb. 4.0; " _
    & "DATA SOURCE=" _
    & Server. MapPath("/InetBook/C12/LogIn/" _
    & "Access/C12Login.mdb/") )

He забудьте модифицировать путь к базе данных на вашем сервере.

Hosted by uCoz