【三层架构】——.Net代码分析

用.Net来写三层的登录窗体和上篇【C#登陆代码】写的基本思路是一样的,只是代码的规范不同,稍有差异不同。代码如下:


Entity层:作为实体层在U B D层之间进行传递


Public Class UserInfo
    '定义私有属性
    Private UserID As String
    Private Password As String

    '定义属性的过程,通过这个允许其他类访问,get set可以读写
    Public Property ID As String
        Get
            Return UserID
        End Get
        Set(value As String)
            UserID = value
        End Set
    End Property

    Public Property PWD As String
        Get
            Return Password
        End Get
        Set(value As String)
            Password = value
        End Set
    End Property
End Class

U层:实现用户交互界面,数据采集和显示


Public Class Form1
    Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
        '实例化Model层对象
        Dim Uuser As New Login.Model.UserInfo
        '实例化B层对象
        Dim BCheck As New Login.BLL.LoginManager

        '将文本框中内容传给实体类LoginUser
        Uuser.ID = txtUserName.Text()
        Uuser.PWD = txtPassword.Text()

        '判断登录,调用B层的方法
        If BCheck.SelectUserAndBLL(Uuser) Then
            MsgBox("登录成功")
        Else
            MsgBox("登录失败")
        End If

    End Sub
End Class

B层:传递和进行逻辑判断的作用


Public Class LoginManager
    '实例化D层和Model层对象
    Dim uDao As New Login.DAL.UserDAO
    Dim Buser As New Login.Model.UserInfo

    '定义一个函数,参数是user,类型是布尔值
    Function SelectUserAndBLL(ByVal user As Login.Model.UserInfo) As Boolean
        Buser.ID = user.ID
        Buser = uDao.SelectBLLAndDAL(Buser) '引用DAL层

        If Buser.PWD.Trim() = user.PWD Then
            Return True
        Else
            Return False
        End If

    End Function
End Class

D层:连接数据库


Imports System.Data.SqlClient

Public Class UserDAO
    '登录数据库 两种登录方式
    Dim sqlConnectStr As String = "server=HOME-LOVE\MSSQLSERVER1;database=Login;User ID=sa;Password=1"
    'Dim sqlConnectStr1 As String = "server=HOME-LOVE\MSSQLSERVER1;database=Login;integrated Security=true"

    '查询数据库,用户是否存在
    Function SelectBLLAndDAL(ByVal user As Login.Model.UserInfo) As Login.Model.UserInfo
        '连接数据库
        Dim sql As String = "select * from Users where Username='" & user.ID & "'"

        'Connection连接数据库
        Dim sqlConnect As SqlConnection = New SqlConnection(sqlConnectStr)
        sqlConnect.ConnectionString = sqlConnectStr

        'Command对象对数据库执行命令
        Dim cmd As SqlCommand = New SqlCommand(sql, sqlConnect)
        cmd.CommandText = sql  '获得SQL语句的具体内容
        cmd.Connection = sqlConnect


        Dim read As SqlDataReader '从数据源读取数据
        Dim UserDataTable As New DataTable '定义一个DataTable对象
        Dim Duser As New Login.Model.UserInfo  '定义Model层对象

        Try
            sqlConnect.Open() '打开连接
            read = cmd.ExecuteReader '返回一个数据集对象
            UserDataTable.Load(read)
            Duser.ID = UserDataTable.Rows(0)("Username") '将数据库信息传给Model
            Duser.PWD = UserDataTable.Rows(0)("Password")
            Return Duser '返回实体层对象
        Catch ex As Exception
            Duser.PWD = ""
            Return Duser
        Finally
            If Not IsNothing(sqlConnect) Then
                sqlConnect.Close()
            End If
        End Try

    End Function
End Class


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
1、无需设置 由于它是一个便携式工具,它不需要您将其安装在目标计算机上,因为只需拆包其存档并启动可执行文件即可完全访问其功能。 您还可以从可移动存储介质(如USB闪存驱动器或外部HDD)运行它。此外,它不会修改系统中的注册表项,也不会在您的PC上生成其他文件或文件夹,但未经您的明确许可。 2、综合界面 dnSpy配备了一个时尚,全面的用户界面,包含广泛的有用功能,它们整齐地组织在主窗口的标准菜单中。 更重要的是,它具有标准配置窗口,您可以在其中调整各种组件的设置,如其反编译器,调试器或十六进制编辑器,但也可以修改显示或其他参数。 3、.NET反汇编程序 如果您需要一个高效的工具,可以通过为您提供各种有用的工具来帮助您反编译.NET程序集,您可以转到dnSpy。它配有一个反编译器,一个调试器,一个十六进制编辑器和一个程序集编辑器,让你以有效的方式处理程序集。 主窗口附带了一个Assembly Explorer窗格,您可以在其中访问所需程序集的树视图。您可以通过从计算机指定适当的文件或使用“从GAC打开”选项打开程序集,该选项为您提供全局程序集缓存中可用的条目列表。 4、.NET程序集的可靠反向工程工具 所有考虑的事情,dnSpy是一个方便的应用程序,使您能够以有效的方式逆向工程.NET程序集,为您提供广泛的有用工具,包括反编译器,程序集编辑器和调试器。它不需要安装,具有全面,平滑的用户界面,并为您提供了一个标准配置窗口,您可以在其中调整各种组件的设置。
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值