⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.aspx.vb

📁 用VB.NET在VS.NET 2003下开发的完整的设备管理系统,后台数据库为SQL SERVER 2000,解压缩后请先阅读"说明"文件来部署此系统.
💻 VB
字号:
Imports System
Imports System.Data
Imports System.Data.SqlClient

Public Class login
    Inherits System.Web.UI.Page

#Region " Web 窗体设计器生成的代码 "

    '该调用是 Web 窗体设计器所必需的。
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()

    End Sub
    Protected WithEvents login_nametxt As System.Web.UI.WebControls.TextBox
    Protected WithEvents regularexpressionvalidator1 As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents login_passwordtxt As System.Web.UI.WebControls.TextBox
    Protected WithEvents regularexpressionvalidator2 As System.Web.UI.WebControls.RequiredFieldValidator
    Protected WithEvents okbtn As System.Web.UI.WebControls.Button

    '注意: 以下占位符声明是 Web 窗体设计器所必需的。
    '不要删除或移动它。
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: 此方法调用是 Web 窗体设计器所必需的
        '不要使用代码编辑器修改它。
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
    End Sub

    Private Sub mybutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles okbtn.Click
        If (Page.IsValid) Then

            Dim login_name As String = login_nametxt.Text
            Dim login_password As String = login_passwordtxt.Text

            Dim SQLString As String
            Dim MyConnection As System.Data.SqlClient.SqlConnection
            Dim MyCommand As System.Data.SqlClient.SqlCommand
            Dim MyDataReader As System.Data.SqlClient.SqlDataReader
            Dim whetherNull As Boolean = False  ' 用来判断Session("login_name")是否为空
            Dim whetherSelf As Boolean = False  ' 用来判断是否还是本会话,即login_name是否等于Session("login_name")

            '------------------两种情况下判断此用户是否在线-----------------------------------------
            If Session("login_name") <> "" Then
                ' Session("login_name")不为空时,判断是否与登陆名相同
                If login_name = Session("login_name") Then
                    whetherSelf = True
                Else
                    ' 当Session("login_name")不为空且与刚才会话不是同一个login_name是,才判断登陆ID是否已经在线
                    For Each str As String In Global.OnlinePerson
                        If str = login_name Then
                            Response.Redirect("OnlineError.aspx?error=1")
                        End If
                    Next
                End If
            Else
                whetherNull = True
                ' Session("login_name")为空时,如果登陆ID已经在线则报错
                For Each str As String In Global.OnlinePerson
                    If str = login_name Then
                        Response.Redirect("OnlineError.aspx?error=1")
                    End If
                Next
            End If
            '----------------------与人员数据库连接来验证身份的合法性-------------------------------
            MyConnection = Global.GetConnection("equipment")
            SQLString = "Select * From person"
            MyCommand = New SqlCommand(SQLString, MyConnection)
            '打开Connection连接并执行Command命令
            MyConnection.Open()
            '获取数据集
            MyDataReader = MyCommand.ExecuteReader()
            '<----------------判断是否是本单位人员找到 temp=1-------------------->
            Do While MyDataReader.Read   '当有数据源中的数据满足下列条件时
                '<----------------如果登陆名与密码 = MyDataReader数据源中的相应的第 2,3列时--------------->
                If login_name = Trim(MyDataReader(2)) And login_password = Trim(MyDataReader(3)) Then
                    If whetherNull Then
                        Global.OnlinePerson.Add(Convert.ToString(login_name))
                    Else
                        ' 如果login_name和上次会话不同,则先把上次会话人员从OnlinePerson中剔除
                        If Not whetherSelf Then
                            Global.OnlinePerson.Remove(Convert.ToString(Session("login_name")))
                            Global.OnlinePerson.Add(Convert.ToString(login_name))
                        End If
                    End If
                    ' 如果没有关闭连接将可能会造成严重的后果
                    MyDataReader.Close()
                    MyConnection.Close()
                    ' 是本单位人员时,把数据表中的相应ID创建成为 Session 变量
                    Session("login_name") = login_name
                    Response.Redirect("index.aspx")
                End If
            Loop
            MyDataReader.Close()
            MyConnection.Close()
            '<-----------------如果不是单位人员就进不去-------------------->
            Response.Redirect("error.aspx?error=0")
        End If
    End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -