博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VB.NET版+三层实现登陆
阅读量:6463 次
发布时间:2019-06-23

本文共 4654 字,大约阅读时间需要 15 分钟。

三层已经学了一些时间了,開始认为自己能够用C#敲代码了,就用C#写了一个实现登陆的,真正再用在机房中,还是认为非常吃力的,所以,决定用vb.net敲了。以下是我用vb.net实现的登陆,能够给大家做一些參考。

  

  这是构架的三层

  数据库中的表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 UserID=@UserID and Password=@Password"        '存储过程        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层:

    界面设计:

    

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

你可能感兴趣的文章
matlab中如何使用help,MATLAB中如何使用help?怎样看matlab的help
查看>>
matlab的函数的代码,10 Matlab 函数与代码风格
查看>>
php日期语言,Php多语言日期:howto?
查看>>
php前台ajax商品遍历,jquery ajax加载数据前台渲染方式 不用for遍历的方法
查看>>
php openapi设计,OpenApi开放平台架构实践
查看>>
java 基本程序,基础 JAVA程序
查看>>
matlab中求解不等式的解,大神们,求个解多元一次不等式的代码,要所有整数解...
查看>>
php的算法是什么,算法是什么?
查看>>
discuz login.php,Discuz!登录,注册,退出接口.
查看>>
matlab 荷兰颜色,insar_matlab 荷兰Delft大学开发的insar(干涉合成孔径雷达)图像处理部分源代码 - 下载 - 搜珍网...
查看>>
Unix php平滑安装扩展,Linux下安装php的扩展scws
查看>>
PHP与java的servant,servant_英文阅读网
查看>>
android 编译java,Android 源码的编译
查看>>
cpanel 远程mysql,利用cpanel远程管理MySQL数据库
查看>>
writeup php,Natas6 Writeup(PHP Include)
查看>>
oracle一个实例多少钱,ORACLE Cloud 创建实例费用提问
查看>>
oracle 数据泵 imp,IMP/EXP,数据泵,SQL*Loader ,rman,oracle数据库备份
查看>>
aix创建oracle用户和组,AIX平台的裸设备上创建Oracle表空间
查看>>
oracle数列的创建,Oracle实现fibonacci数列
查看>>
oracle字符中不包含字母,oracle中字母A或B是否包含在字符串中
查看>>