vb.net版三层登录
来源:互联网 发布:开淘宝店流程步骤 编辑:程序博客网 时间:2024/06/11 15:02
vb.net的语言和VB很相像,但和C#还是有点差别的。这段时间一直看C#的东西,刚换成vb.net还有点不适应。
登录逻辑
1.创建实体类
2.UI实例化一个实体,并把界面数据创给实体,调用BLL的UserLogin方法。
3.实例化DAL层的DAO类,调用D层的SelectUser方法并判断用户是否存在
4.创建打开数据连接;把user清空,如果数据库中有要找的数据就把这些数据赋给user
登录实例
三层及实体
U层
Public Class LoginUI Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click Try '获得介面层数据 Dim user As New Entity.UserInfo user.ID = txtUserID.Text.Trim() user.PSW = txtPassWord.Text.Trim() '调用B层,登录判断 Dim svc As New LoginBLL.LoginService user = svc.UserLogin(user) '显示登录成功 MsgBox("用户" + "'" + user.UserName + "'" + "登录成功") Catch ex As Exception MessageBox.Show(ex.Message.ToString()) End Try End Sub Private Sub btnCancel_Click(sender As Object, e As EventArgs) Handles btnCancel.Click Me.Close() End Sub
BLL层
'B层,主要涉及业务逻辑Public Class LoginService Public Function UserLogin(ByVal user As Entity.UserInfo) As Entity.UserInfo Dim uDao As New LoginDAL.UserDAO user = uDao.SelectUser(user) '判断是否有记录,有记录返回user,不成功给出提示 If IsNothing(user) Then Throw New Exception("登录失败,请检查用户ID和密码") '这里抛出错误,在UI层Catch Else Return user End If End FunctionEnd Class
D层
'引用空间命名Imports System.DataImports System.Data.SqlClient'D层,只涉及到对数据的操作Public Class UserDAO '创建数据库连接 Public conn As New SqlConnection("server= jf; database = Login; user=sa;password= summer") Public Function SelectUser(ByVal user As Entity.UserInfo) As Entity.UserInfo Dim reader As SqlDataReader '其实下面的这段程序就相当于dim sql as string ="select ID,UserName,PWD From Users Where UserName='"User.UserName"' And PWD='"User.PWD"'" Dim sql As String = "Select ID,PassWord,UserName From Users Where ID = @ID And PassWord = @PassWord" Dim cmd As New SqlCommand(sql, conn) '创建一个sql命令,第一个参数是CommandText,第二个是sqlConnection cmd.CommandText = sql cmd.CommandType = CommandType.Text cmd.Parameters.Add(New SqlParameter("@ID", user.ID)) cmd.Parameters.Add(New SqlParameter("@PassWord", user.PSW)) conn.Open() '打开数据连接 reader = cmd.ExecuteReader() '执行查询命令操作 user = Nothing '读取查询到的数据,并返回给相应的属性 While reader.Read() If user Is Nothing Then '如果没有找到对应的数据就把user设为空,在UI层判断如果user是空就报错 user = New Entity.UserInfo End If '获取数据库相应字段的数据 user.ID = reader.GetInt32(0) user.PSW = reader.GetString(2) user.UserName = reader.GetString(1) End While Return user conn.Close() End FunctionEnd Class
Entity实体
Public Class UserInfo 'ID属性 '不用括号,和分号 Private _id As Integer Public Property ID As Integer Get Return _id End Get Set(value As Integer) _id = value End Set End Property '用户名 Private _username As String Public Property UserName As String Get Return _username End Get Set(value As String) _username = value End Set End Property '密码 Private _psw As String Public Property PSW As String Get Return _psw End Get Set(value As String) _psw = value End Set End PropertyEnd Class
总结
C#版的登录时看着视频敲的,敲完后感觉糊里糊涂,知道有三层,具体三层怎么运作有些疑问。Vb.net版是我看了一遍师哥的成果后,自己敲的,有的地方,像user的处理和他有点不一样,他每一层都定义了一个user,user1,user2, user3 是调用时为了区分是哪个层的user。我感觉没有必要区分,因为不管UI层是叫user1还是user2,到BLL层传进去都叫user,返回的也是user。做了一个大胆的尝试,不过还是运行成功了,好开森。
还有一个尝试是模仿C#版的,在D层写了一个DBConnection的类,把连接数据库的代码写 进去,想着如果以后改数据库,就该这个类就好了,不用修改UserDAO类,也算是解耦了,但是在UserDAOI类中总是做不好引用,只能暂时放弃了。Vb.net和C#还是有些不同的,有待继续研究。
0 0
- vb.net版三层登录
- VB.net三层登录
- VB.NET版“三层登录”实例
- VB.NET版三层登录实例
- VB.NET版三层登录小例子
- 三层登录实例(VB.NET版)
- VB.NET版三层登录实例
- 三层登录——VB.NET版
- 【三层】VB.net版登录实例
- VB.NET 版三层登录的实现
- VB.Net 三层登录实例
- VB.NET三层登录demo
- VB.net三层登录实现
- 三层登录VB.NET实现
- 三层架构实现登录——VB.NET版
- VB.net版机房收费系统——三层登录
- VB.NET版机房收费系统——三层登录
- VB.net+三层架构 实现登录功能
- 编写一个函数,递归遍历,实现无限分类(新浪)
- 安卓项目集成facebook-android-sdk 4.0版本
- 太原网络营销师讲百度竞价(SEM)如何快速掌握上手公司的竞价账户?
- office 2013 激活的简单方法
- BC14hdoj5066&&hdoj5067&&hdoj5068
- vb.net版三层登录
- 尚学堂IOS开发入门到精通
- 尚学堂IOS开发入门到精通
- 尚学堂IOS开发入门到精通
- Drawable
- 校园网上网认证
- 浅解java 中thread.join()的用法
- 大数据技术人员的工具包——开源大数据处理工具list
- iphone 机型获取