Дээрх жишээ нь сервер дэх NorthWind єгєгдлийн баазын Employee хvснэгтээс овог, нэрийг авч оруулсан єгєгдєлтэй тулган, хэрэв оруулсан єгєгдєл баазад байгаа бол вэб хуудасыг цааш vргэлжvvлнэ. Харин vгvй бол дахин оруулахыг хvсэх болно.
Login форм хийх алхамууд:
| Контролын тєрєл | Property | Утга |
|---|---|---|
| Label | Name | Label1 |
| Text | First Name | |
| TextBox | Name | txtFirst |
| Text | Andrew | |
| Label | Name | Label2 |
| Text | Last Name | |
| TextBox | Name | txtLast |
| Text | Fuller | |
| Button | Name | btnSubmit |
| Text | Login |
Дараах классд FirstName, LastName гэсэн 2 property, EmployeeValid гэсэн method байрлана. Property-нууд вэб формоос утга уншин хадгална. Method нь баазад оруулсан нэр, овог байгаа эсэхийг шалгана.
Project -> Add Class-ыг менюнаас сонгоно. Нэрийг нь Employee.vb гэж солино. Шинэ классыг нээж дараах кодыг бичнэ.
Public Class Employee
Private mstrFirst As String
Private mstrLast As String
Property LastName() As String
Get
Return mstrLast
End Get
Set(ByVal Value As String)
mstrLast = Value
End Set
End Property
Property FirstName() As String
Get
Return mstrFirst
End Get
Set(ByVal Value As String)
mstrFirst = Value
End Set
End Property
Public Function EmployeeValid() As Boolean
Dim oCmd As OleDb.OleDbCommand
Dim oDR As OleDb.OleDbDataReader
Dim strSQL As String
Dim strConn As String
Dim boolFound As Boolean
'** Холболтын тэмдэгт мєр vvсгэх
strConn = "Provider=sqloledb"
strConn &= ";Data Source=(local)"
strConn &= ";Initial Catalog=Northwind"
strConn &= ";User id=sa"
strConn &= ";Password="
'** Хэрэгжих коммандын текст
strSQL = "SELECT EmployeeID FROM Employees "
strSQL &= "WHERE LastName = '" & mstrLast & "' "
strSQL &= "AND FirstName = '" & mstrFirst & "' "
'** Command объект vvсгэх
oCmd = New OleDb.OleDbCommand()
With oCmd
.CommandText = strSQL
.CommandType = Data.CommandType.Text
.Connection = _
New OleDb.OleDbConnection(strConn)
.Connection.Open()
End With
'** SQL-ыг ажиллуулах
oDR = oCmd.ExecuteReader( _
CommandBehavior.SequentialAccess)
boolFound = oDR.Read
'** Data Reader болон Connection-ыг хаах
oDR.Close()
oCmd.Connection.Close()
'** функцын буцаах утга True эсвэл False
Return boolFound
End Function
End Class
EmployeeValid method нь SQL Select мэдэгдэл vvсгэн, энэ нь классын 2 property-н утгаар хvснэгтний єгєгдлvvдээс шvvлт хийн, бичлэгийг OleDbDataReader объект руу буцаан дамжуулна. OleDbDataReader объектын Read method нь хэрэв ямар нэг єгєгдєл буцаж ирсэн бол vнэн (true), хоосон бол худал (false) утга буцаана. BoolFound хувьсагчын утгыг функцын буцах утга болгон авч байна.
Хэрэв та Microsoft Access бааз ашиглах гэж буй бол холболтын тэмдэгт мєрийг дараах байдлаар єєрчилнє vv. (та замыг нь солихоо мартваа :-))
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Northwind\Northwind.mdb"
Одоо та Employee класстай ба vvнийгээ Login товчлуурын Click vзэгдлийн процедурт ашиглана.
Private Sub btnSubmit_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles btnSubmit.Click
Dim oEmp As Employee = New Employee()
With oEmp
.LastName = txtLast.Text
.FirstName = txtFirst.Text
If .EmployeeValid() Then
Session("EmpName") = .FirstName & _
" " & .LastName
'Response.Write("Welcome " & _
.FirstName & "")
Else
'Response.Write("Invalid Login Name")
End If
End With
End Sub
Дээрх кодонд, шинээр Employee объект vvсгэж, text box-уудаас утгуудыг LastName ба FirstName property-нуудад онооно. Дараа нь EmployeeValid method-ыг дуудах ба хэрэв vнэн утга буцаж ирвэл “Welcome <Нэр>” гэж бичих ба худал бол “Invalid Login Name” гэж браоузерт бичих болно.
Та арай илvv сайжруулж нэвтрэлт амжилттай биелсэн vvсэх форм, буруу бол дахин оролдохыг хvссэн форм vvсгэхээр єєрчлєхийн тулд дараах алхмуудыг хийнэ.
Одоо та амжилттай холбогдсныг хэрэглэгчийн нэрийн хамт мэдэгдэх форм хийнэ.
Private Sub Page_Load(ByVal Sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Response.Write("Welcome to our web site " & _
Session("EmpName").ToString())
End Sub