VB.NET版+三層實現登陸

來源:互聯網
上載者:User

標籤:rom   uda   技術分享   public   介面設計   span   exce   ons   定義變數   

三層已經學了一些時間了,開始認為自己能夠用C#敲代碼了,就用C#寫了一個實現登陸的,真正再用在機房中。還是認為非常吃力的,所以。決定用vb.net敲了。以下是我用vb.net實現的登陸。能夠給大家做一些參考。

  

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl1bXV4aWEwOTIx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >

  這是構架的三層

  資料庫中的表T_User_DAL:UserI。Level,Password,Head,computer

  首先看一下

                                        Entity層:

Public Class UserInfoEntity#Region "定義變數"    Private _userID As String    Private _level As String    Private _Head As String    Private _password As String#End Region    Public Property UserID() As String            ‘將T_User_DAL表中的每個實體都傳上去,實體是依據表來建的,不是功能        Get            Return _userID        End Get        Set(value As String)            _userID = value        End Set    End Property    Public Property Level() As String        Get            Return _level        End Get        Set(ByVal value As String)            _level = value        End Set    End Property    Public Property Head() As String        Get            Return _Head        End Get        Set(value As String)            _Head = value        End Set    End Property    Public Property Password() As String        Get            Return _password        End Get        Set(value As String)            _password = value        End Set    End PropertyEnd Class


                                        DAL層:

   為了可以減少耦合一定要將連接字串拿出來。不要每個DAL中都寫一邊。


Imports System.DataImports System.Data.SqlClientPublic Class SqlUtil    Public Shared Function connstring() As String        ‘connstring = "Server=192.168.24.183;Database=ReconsitutionCharge_sys;User ID=sa;Password=123456"     ‘會出現無法識別userid的錯誤        connstring = "Server=mx; Database=ReconsitutionCharge_sys; User ID=sa; Password=123456"         ‘串連SQL的字串    End FunctionEnd Class






T_User_dal表DAL層代碼:

Imports System.Data.SqlClientImports System.DataPublic Class UserDAL    Public Function SelectUser(ByVal user As Entity.UserInfoEntity) As Entity.UserInfoEntity        Dim conn As New SqlConnection                          ‘定義串連開啟資料庫        Dim cmd As New SqlCommand                              ‘定義資料庫命令        conn = New SqlConnection(SqlUtil.connstring())         ‘執行個體化SQLUntil中返回的字串         cmd.Connection = conn        cmd.CommandText = "Select * From T_User_DAL Where [email protected] and [email protected]"        ‘預存程序        cmd.Parameters.Add(New SqlParameter("@UserID", user.UserID))                        ‘賦值,傳參        cmd.Parameters.Add(New SqlParameter("@Password", user.Password))        cmd.CommandType = CommandType.Text                                                  ‘CommandText 屬性設定為預存程序的名稱。當調用 Execute 方法之中的一個時,該命令將運行此預存程序        conn.Open()                                                                         ‘開啟串連        Dim reader As SqlClient.SqlDataReader                                               ‘讀取資料庫中的表        reader = cmd.ExecuteReader()        Dim users As New Entity.UserInfoEntity                                              ‘執行個體化實體        While (reader.Read())            ‘If users Is Nothing Then            ‘    user = New Entity.UserInfoEntity            ‘End If            users.UserID = reader.GetString(reader.GetOrdinal("UserID"))            users.Password = reader.GetString(reader.GetOrdinal("Password"))        End While        conn.Close()        Return users    End FunctionEnd Class



                                        BLL層:

Public Class LoginBLL    Function UserLogin(ByVal user As Entity.UserInfoEntity) As Entity.UserInfoEntity        Dim uDAL As New DAL.UserDAL                                 ‘執行個體化了DAL中的UserDAL        Dim users As New Entity.UserInfoEntity                      ‘執行個體化了Entity層資訊表        users = uDAL.SelectUser(user)                               ‘selectUser是返回一個Entity類的,給它賦值user        Return users                                                ‘返回users實體    End FunctionEnd Class



                                        UI層:

    介面設計:

    

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWl1bXV4aWEwOTIx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" >




   Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click        Dim mgr As New BLL.LoginBLL             ‘執行個體業務層        Dim user As New Entity.UserInfoEntity   ‘執行個體實體        Dim users As Entity.UserInfoEntity      ‘接收實體,用於接收UserLogin()返回的資料類型,假設沒有New就不是執行個體化        user.UserID = txtUserID.Text.Trim()     ‘給實體層傳入值        user.Password = TxtPassword.Text.Trim()        If txtUserID.Text = "" Then             ‘推斷輸入是否正確            MsgBox("username不可為空!")            Return        End If        If TxtPassword.Text = "" Then            MsgBox("password不可為空!")            Return        End If        Try                                    ‘users接收實體            users = mgr.UserLogin(user)            If (users.UserID Is Nothing And users.Password Is Nothing) Then      ‘假設users不為空白。則登陸成功!                MsgBox("登陸失敗,username和password不匹配")                Return            Else                MsgBox("登陸成功。登陸使用者:" + user.UserID)            End If        Catch ex As Exception            MsgBox(ex.Message())        End Try    End SubEnd Class


VB.NET版+三層實現登陸

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.