前言

由于下面的机房收费系统重构自己要用VB.NET进行重构,所以在敲三层登录的时候,实践了一份C#版三层登录,接着就是VB.NET版的三层登录。话说还有七层登录,一下子感觉三层又矮小了。万丈高楼平地起,都得从最底层走起~

VB.NET版三层登录

Entity实体层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Public Class UserInfo
'定义两个私有属性
Private UserID As String
Private Password As String '定义属性过程,通过属性过程,允许其他类访问
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</span>

U层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Public Class FrmLogin

    Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
End
End Sub Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click
'实例化传实体对象;
Dim LoginUser As New Login.Model.UserInfo '用来接收用户的登录名和密码; '实例化B层对象
Dim Bcheck As New Login.BLL.LoginManager '将文本框中的字符串送给实体对象login.user使实体对象能够带上参数;
LoginUser.ID = txtUsername.Text()
LoginUser.PWD = txtPassword.Text() If Bcheck.selectUIandModel(LoginUser) Then
MsgBox("恭喜你,成功了!Amazing")
Else
MsgBox("这也太笨了吧,连这个都做不好,怎么谈是精英?")
End If
End Sub
End Class</span>

B层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Imports Login.Model
Imports Login.DAL.UserDAO Public Class LoginManager
'B层业务处理逻辑:承接U层的参数和传递到D层;
Function selectUIandModel(ByVal user As Login.Model.UserInfo) As Boolean Dim DAOuser As New Login.DAL.UserDAO '实例化D层的UserDAO类
Dim Moderuser As New Login.Model.UserInfo '实例化实体层UserInfo类 Moderuser.ID = user.ID
Moderuser = DAOuser.selectUserInfoFormUserInfoTable(Moderuser) '引用了DAL层的方法 If Moderuser.PWD = user.PWD Then
Return True
Else
Return False
End If
End Function
End Class</span>

D层

<span style="font-family:KaiTi_GB2312;font-size:18px;">Imports System.Data.SqlClient
Imports Login.Model Public Class UserDAO
'server是服务器的名称,可以是local,IP地址,计算机名称;
'database是数据库的名称;
'userid是登录的用户名;
'pwd是登录的密码;
Dim sqlConnectStr As String = "server =ZLT;database=Login;uid=sa;pwd=123" '下面可以用windows身份验证登录;
'Dim sqlConnectStr1 As String = "server=ZLT;database=Login;integrated Security=true" Dim sqlConnect1 As SqlConnection = New SqlConnection(sqlConnectStr) Function selectUserInfoFormUserInfoTable(ByVal user As Login.Model.UserInfo) As Login.Model.UserInfo
Dim sql As String = "select * from Users where Username='" & user.ID & "'"
Dim cmd As SqlCommand = New SqlCommand(sql, sqlConnect1) '定义sqlcommand对象; Dim read As SqlDataReader '定义sqldatareader对象; Dim UserDataTable As New DataTable '定义一个Datatable对象;
Dim user1 As New Login.Model.UserInfo Try
sqlConnect1.Open()
read = cmd.ExecuteReader
UserDataTable.Load(read)
user1.ID = UserDataTable.Rows(0)("Username")
user1.PWD = UserDataTable.Rows(0)("Password")
Return user1 Catch ex As Exception
user1.PWD = ""
Return user1
Finally
If Not IsNothing(sqlConnect1) Then
sqlConnect1.Close()
End If
End Try
End Function
End Class</span>

小结

1、人总得学会长大,三层也需要不断的创新;

2、万变不离其宗,变是永远不变的。

点我——>C#版三层登录

感谢您的宝贵时间~~~

三层登录——VB.NET版的更多相关文章

  1. 七层登录——VB.NET版

    敲完三层后,感觉还是对三层架构没有那么亲切,和小伙伴交流后,他们说多多敲几遍,就懂了,其实就是那么几条线,所以:不管会不会,先去做吧! 下面是关于七层的包图: 我的解决方案: 代码部分: U层: &l ...

  2. 三层登录实例VB.NET版详解---理论加实战篇

    层,百度百科这样解释,首先-重叠起来的东西:重叠起来的东西中的一部分:层次|表层|大气层.其次-重叠:重复:层峦叠嶂|层出不穷.最后-量词,用于可以分出层次的事物,女孩儿强烈的第六感,三层中的层一定是 ...

  3. 三层登录实例VB.NET版具体解释---理论加实战篇

    层,百度百科这样解释,首先-重叠起来的东西:重叠起来的东西中的一部分:层次|表层|大气层.其次-重叠.反复:层峦叠嶂|层出不穷.最后-量词,用于能够分出层次的事物.女孩儿强烈的第六感,三层中的层一定是 ...

  4. 三层登录——C#版

    前言 前期了解三层架构主要是由UI层.BLL层和DAL层三部分构成.看到大牛们都采用三层的思想实现了登录,本菜鸟暗暗地站在了他们的肩膀上. 自己理解 对于三层自己的理解是:就像我们对一个大型的公司去找 ...

  5. 三层——vb.net版

    经过不懈的努力,我的vb.net 版的三层登陆终于实现了.下面将我的成果向大家展示一下. 原则          vb.net的三层登陆跟C#的三层登陆的思想是一样的都是将系统分层--U层只负责与用户 ...

  6. 第三方登录插件.NET版XY.OAuth-CSharp

    XY.OAuth-CSharp GitHub:XY.OAuth-CSharp OSChina:XY.OAuth-CSharp 第三方登录插件.NET版 使用 首先,从NuGet上安装"XY. ...

  7. Java基础知识强化之IO流笔记56:IO流练习之 登录注册IO版

    1.  登录注册IO版的Java项目框架,如下: 2. 具体代码实现: (1)User.java(cn.itcast.game): package cn.itcast.pojo; /** * 这是用户 ...

  8. VB.NET版机房收费系统---导出Excel表格

    datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...

  9. VB.NET版机房收费系统---异常处理

    异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...

随机推荐

  1. POJ1363 Rails 验证出栈序列问题

    题目地址: http://poj.org/problem?id=1363 此题只需验证是否为合法的出栈序列. 有两个思路: 1.每个已出栈之后的数且小于此数的数都必须按降序排列.复杂度O(n^2),适 ...

  2. Git之Eclipse提交项目到Github并实现多人协作

    一.Eclipece提交项目到Github 见  eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization

  3. php判断是否是微信浏览器

    php判断是否是微信浏览器 直接上代码: <?PHP function is_wechat_browser(){ $user_agent = $_SERVER['HTTP_USER_AGENT' ...

  4. Javascript-- jQuery事件篇(3)

    on()的多事件绑定 之前学的鼠标事件,表单事件与键盘事件都有个特点,就是直接给元素绑定一个处理函数,所有这类事件都是属于快捷处理.翻开源码其实可以看到,所有的快捷事件在底层的处理都是通过一个&quo ...

  5. Linux-shell 练习题(一)

    1.实现批量添加20个用户,用户名为user1-20,密码为user+123 #!/bin/bash count=$ if [ -n "$count" ] then ;i<= ...

  6. zepto不支持animate({scrollTop:"100px"})的解决办法

    在移动web项目的开发中,遇到一个通过点击页面自动到相应的楼层处的需求,最初的想法就是使用html的target属性进行切换,但实际效果十分死板,显得毫无交互性.该前端架构采用zepto这个轻库进行开 ...

  7. 设计模式 之 《观察者模式 (Observer)》

    #ifndef __OBSERVER_MODEL__ #define __OBSERVER_MODEL__ #include <string> #include <iostream& ...

  8. 搭建DNS服务器-bind

    1. 安装 yum install -y bind-chroot yum install -y bind-utils service named-chroot start    2. 修改配置 增加一 ...

  9. GrayCode for state machine

    How & Why use Gray Code A gray counter is a binary counter where only one bit changes at a time. ...

  10. 关系运算符 逻辑运算符 if 语句 switch语句

    1. BOOL类型 BOOL isRightOrNo = YES; isRightOrNo = 56;//可以打印出来,在C语言中,非0即真 printf("%d\n" , isR ...