VB.NET之旅-三层架构之登陆

VB.NET之旅-三层架构之登陆,第1张

概述初接触三层 三层是指显示层,业务逻辑层,数据访问层,是为“高内聚,低耦合”服务的 除了上述三层之外,一个程序中必须要有的还有实体层,我的理解是实体层中的实体是与数据库中的表相对的,而实体的属性是与数据表中字段相对的,大家还可以根据需要加入外观层,数据接口,抽象工厂层这都是后话,要根据程序的需要进行添加。就像我们今天要实现的登陆这个就不需要外观,数据接口,抽象共厂,其实就连业务逻辑层也可以省略,因为

初接触三层

三层是指显示层,业务逻辑层,数据访问层,是为“高内聚,低耦合”服务的 除了上述三层之外,一个程序中必须要有的还有实体层,我的理解是实体层中的实体是与数据库中的表相对的,而实体的属性是与数据表中字段相对的,大家还可以根据需要加入外观层,数据接口,抽象工厂层这都是后话,要根据程序的需要进行添加。就像我们今天要实现的登陆这个就不需要外观,数据接口,抽象共厂,其实就连业务逻辑层也可以省略,因为这里并没有逻辑运算。 显示层引用业务逻辑层,业务逻辑层引用数据访问层,三层均可根据需要引用实体层 最初敲登陆这个小例子,犯了一个小错误,就是

这个问题花了我一晚上的时间,也花了我旁边大神半个小时,但都无果。就在我要心灰意冷,将要咬舌自尽之时,我忽然注意到: 问:解决方案管理器中这四个项目是什么关系?答案是:它们是四个不同的程序集,从属于解决方案,但他们同时也可以被其它解决方案通过添加现有项目添加。(在VB.NET中,无论是解决方案,程序集,类,窗体,没有被添加前都被称为项目) 通过右击解决方案添加的现有项目是程序集。 通过右击程序集添加的现有项目是类或窗体。 点击菜单栏文件—>-新建的项目或打开的项目是解决方案 大家知道我犯的错误了吗?就知道你没看出来,我犯的错误就是,我将上述四个程序集的名称都改为了LogIn,所以出现了上述的错误。 下面来看一下我的代码,大家一定要理解我开头写的“初接触”三个字,写出这样的代码已经很不错了,大家不要嫌弃。

显示层

imports LogIn.BLLimports LogIn.ModelPublic Class frmlogin    Public Sub btnLogIn_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnLogIn.Click        Dim admininfo As adminInfoEntity        Dim manager As New adminBLL        Dim _name As String        Dim _password As String        _name = txtadminname.Text        _password = txtadminPwd.Text        admininfo = manager.selectadmin_info(_name,_password) '调用逻辑层,返回的admininfo可能为空,也可能不为空        If admininfo Is nothing Then            MessageBox.Show("登陆失败")        Else            MessageBox.Show("登陆用户" + admininfo.name)        End If    End Sub    Private Sub btnCancel_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btnCancel.Click        Me.Close()    End SubEnd Class
业务逻辑层
imports LogIn.Modelimports LogIn.DALPublic Class adminBLL    Dim adminInfo As adminInfoEntity    Dim adminDAL As New adminDAL    '验证用户登录信息是否正确    Public Function selectadmin_info(ByVal name As String,ByVal password As String) As adminInfoEntity        adminInfo = adminDAL.getadminInfo(name,password) '调用数据访问层,返回的admininfo可能为空,也可能不为空        Return adminInfo    End FunctionEnd Class
数据访问层
imports System.Data.sqlClIEntimports System.Dataimports System.Data.oleDbimports SystemPublic Class ConnectionToDB    Public Function ConnectionToDB() As sqlConnection        Dim con As New sqlConnection("Data Source=刘颖-PC;Initial Catalog=Room_Charge_System;User ID=sa;password=123456") '连接数据库        con.open()        Return con    End FunctionEnd Class

imports Systemimports System.Dataimports System.Data.oleDbimports System.Data.sqlClIEntimports LogIn.ModelPublic Class adminDAL    Dim adminInfo As adminInfoEntity    Dim con As New ConnectionToDB    '得到用户信息    Public Function getadminInfo(ByVal name As String,ByVal password As String) As adminInfoEntity        '查表中的记录        Dim cmd As New sqlCommand("select*from T_admin_info where name=" & "'" & name & "'" & "and Password=" & "'" & password & "'",con.ConnectionToDB())        Dim reader As sqlDataReader        reader = cmd.ExecuteReader()        While (reader.Read()) '如果数据表中有用户名和密码都与文本框对应的记录,则利用new 关键字调用adminInfoEntity构造函数,使admininfo不为空,并对其属性赋值            adminInfo = New adminInfoEntity            adminInfo.ID = reader.GetString(0)            adminInfo.name = reader.GetString(1)            adminInfo.Level = reader.GetString(2)            adminInfo.Password = reader.GetString(3)        End While        Return adminInfo    End FunctionEnd Class
实体层
'用户类,分别提供了其他类可以调用的公有属性,也提供了供类内部成员调用的字段,其他类通过属性可以限制对字段的无条件进行 *** 作,例如只读,只写,限定范围赋值。Public Class adminInfoEntity    Dim _name As String    Public Property name() As String        Get            Return _name        End Get        Set(ByVal value As String)            _name = value        End Set    End Property    Dim _ID As String    Public Property ID() As String        Get            Return _ID        End Get        Set(ByVal value As String)            _ID = value        End Set    End Property    Dim _level As String    Public Property Level() As String        Get            Return _level        End Get        Set(ByVal value As String)            _level = value        End Set    End Property    Dim _password As String    Public Property Password() As String        Get            Return _password        End Get        Set(ByVal value As String)            _password = value        End Set    End PropertyEnd Class
总结

以上是内存溢出为你收集整理的VB.NET之旅-三层架构之登陆全部内容,希望文章能够帮你解决VB.NET之旅-三层架构之登陆所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1273313.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存