三层登录——VB.NET版
前言
由于下面的机房收费系统重构自己要用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、万变不离其宗,变是永远不变的。
感谢您的宝贵时间~~~
三层登录——VB.NET版的更多相关文章
- 七层登录——VB.NET版
敲完三层后,感觉还是对三层架构没有那么亲切,和小伙伴交流后,他们说多多敲几遍,就懂了,其实就是那么几条线,所以:不管会不会,先去做吧! 下面是关于七层的包图: 我的解决方案: 代码部分: U层: &l ...
- 三层登录实例VB.NET版详解---理论加实战篇
层,百度百科这样解释,首先-重叠起来的东西:重叠起来的东西中的一部分:层次|表层|大气层.其次-重叠:重复:层峦叠嶂|层出不穷.最后-量词,用于可以分出层次的事物,女孩儿强烈的第六感,三层中的层一定是 ...
- 三层登录实例VB.NET版具体解释---理论加实战篇
层,百度百科这样解释,首先-重叠起来的东西:重叠起来的东西中的一部分:层次|表层|大气层.其次-重叠.反复:层峦叠嶂|层出不穷.最后-量词,用于能够分出层次的事物.女孩儿强烈的第六感,三层中的层一定是 ...
- 三层登录——C#版
前言 前期了解三层架构主要是由UI层.BLL层和DAL层三部分构成.看到大牛们都采用三层的思想实现了登录,本菜鸟暗暗地站在了他们的肩膀上. 自己理解 对于三层自己的理解是:就像我们对一个大型的公司去找 ...
- 三层——vb.net版
经过不懈的努力,我的vb.net 版的三层登陆终于实现了.下面将我的成果向大家展示一下. 原则 vb.net的三层登陆跟C#的三层登陆的思想是一样的都是将系统分层--U层只负责与用户 ...
- 第三方登录插件.NET版XY.OAuth-CSharp
XY.OAuth-CSharp GitHub:XY.OAuth-CSharp OSChina:XY.OAuth-CSharp 第三方登录插件.NET版 使用 首先,从NuGet上安装"XY. ...
- Java基础知识强化之IO流笔记56:IO流练习之 登录注册IO版
1. 登录注册IO版的Java项目框架,如下: 2. 具体代码实现: (1)User.java(cn.itcast.game): package cn.itcast.pojo; /** * 这是用户 ...
- VB.NET版机房收费系统---导出Excel表格
datagridview,翻译成中文的意思是数据表格显示,使用DataGridView控件,能够显示和编辑来自不同类型的数据源的表格,将数据绑定到DataGridView控件很easy和直观,大多数情 ...
- VB.NET版机房收费系统---异常处理
异常处理,英文名为Exceptional Handling, 那时年少,还记得那年一起学习过的VB6.0的时候,常常使用ONError的错误语句.与传统VB6.0中的OnError语句相比.NET平台 ...
随机推荐
- html怎样可是使文本框内容不可修改
html怎样可是使文本框内容不可修改 <input type="text" readonly="readonly" onfocus="alert ...
- Ueditor--toolbars
(1)代码中定义 <script id="container" name="content" type="text/plain"> ...
- python习题-判断输入字符串是不是小数类型
写一个能判断输入的字符串是不是个小数类型的1,判断小数点的个数是否为1 count2,判断是否小数右边是整数 isdigit3,判断小数点左边的1,整数 isdigit ,2如果是负整数,取负号右边, ...
- MySQL--开发技巧(一)
Inner Join: Left Outer Join: Right Outer Join: Full Join: Cross Join: SELECT t1.attrs ,t2.attrs FROM ...
- Execl to HTML
/************************************************************************* * Execl to HTML * 说明: * 这 ...
- 解决编译warning:warning: ‘MeteringUnit::voltage_gain_’ will be initialized after [-Wreorder]
问题: 环境:ubuntu 12.04,g++版本4.6.3,编译目标文件时出现warnings: u1204@u1204-zhw:~/hwsvn/2sw/4prj_mips/UCP_rt5350/s ...
- 小程序wxss编译错误
控制台输入openVendor() ,清除里面的wcsc.exe,然后重启工具.
- Core Data存储数据出错(This NSPersistentStoreCoordinator has no persistent stores (unknown))
Core Data存储数据的时候崩溃,崩溃信息: reason: 'This NSPersistentStoreCoordinator has no persistent stores (unknow ...
- BZOJ5443:[CEOI2018]Lottery
我对状态空间的理解:https://www.cnblogs.com/AKMer/p/9622590.html 题目传送门:https://www.lydsy.com/JudgeOnline/probl ...
- bzoj 4066 & bzoj 2683 简单题 —— K-D树(含重构)
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4066 https://www.lydsy.com/JudgeOnline/problem.p ...