VB.net三层登录

2024-08-26 11:58
文章标签 登录 net 三层 vb

本文主要是介绍VB.net三层登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景:真是欠的债迟早都要还。因为期末那段时间自己看视频的时候没有好好理解看着人家的代码就照敲,导致这次自己用VB.NET实现三层的时候遇到各种问题。

 

 

最大的问题:三层里面U层还有D层每层都有自己的实体,而且数量还不少。这也就罢了,可是他们三层之间需要通过实体实现沟通,这样调用哪个实体或者参数的问题就来了。此外他们是如何进行沟通的呢?

 

 

经过这几天的琢磨,三层的思想我才渐渐地领悟。原来他们之间的沟通就是通过实体调用各层的方法来实现的。而在参数这一块,

光说不练假把式,下面看看我VB.NET版本的三层登录吧。


先让我们看看U层的代码


Imports Model
Imports BLLPublic Class UIPrivate Sub Button1_Click(sender As Object, e As EventArgs) Handles btnOK.ClickDim User As New Model.UserModel '用来接收用户输入的用户名还有密码Dim UserB As Model.UserModel '用来接收B层返回的值User.UserName = txtUserName.TextUser.Password = txtPassword.TextDim mrg As New BLL.LoginBll() '实例化B层登录的一个类UserB = mrg.UserLogin(User) '调用B层的方法C传递User,并且将B层返回的值赋给UserB If UserB.UserName Is Nothing ThenMessageBox.Show("登录失败")ElseMessageBox.Show("登录成功" + User.UserName)End IfReturnEnd Sub
End Class


<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">接下来看看B层的</span>


Imports Model
Imports DLL.UserDPublic Class LoginBllPublic Function UserLogin(ByVal User As UserModel) As Model.UserModel '这里的UserModel指的是User参数返回值的类型。Dim users As New UserModelDim UserD As New DLL.UserDusers = UserD.SelectUser(User)If users.Password Is Nothing ThenThrow New Exception("登录失败")End IfReturn usersEnd Function
End Class


接下来就是D层的


首先是数据库连接的类


Public Class DataConPublic Shared Function connstring() As Stringconnstring = "Server=.;Database=Login;User ID=sa;Password=123"End FunctionEnd Class


Imports System.Data
Imports System.Data.SqlClientImports ModelPublic Class UserDPublic Function SelectUser(ByVal User As UserModel) As UserModelDim connd As New SqlConnection '实例化一个SQL类型的连接Dim cmd As New SqlCommand '实例化一个SQL命令(包括增删改查)connd = New SqlConnection(DataCon.connstring) 'connd调用数据库连接方法cmd.Connection = connd '指定cmd的连接cmd.CommandText = "select * from Users Where UserName=@UserName and Password=@Password" '指定cmd命令的类容cmd.Parameters.Add(New SqlParameter("@UserName", User.UserName))cmd.Parameters.Add(New SqlParameter("@Password", User.Password))cmd.CommandType = CommandType.Textconnd.Open()Dim reader As SqlClient.SqlDataReader '定义一个Reader用来保存查询结果reader = cmd.ExecuteReader()Dim UserD As New Model.UserModel '定义一个UserD来保存Reader的结果While (reader.Read())If (UserD) Is Nothing ThenUserD = New UserModelEnd IfUserD.UserName = reader.GetString(1)UserD.Password = reader.GetString(2)End Whileconnd.Close()Return UserD '返回UserD给B层然后进行判断。End FunctionEnd Class



跟这些相比实体层就比较简单了。


Public Class UserModelPublic _userName As StringPublic Property UserName() As StringGetReturn _userNameEnd GetSet(ByVal value As String)_userName = valueEnd SetEnd PropertyPublic _password As StringPublic Property Password() As StringGetReturn _passwordEnd GetSet(ByVal value As String)_password = valueEnd SetEnd Property
End Class


反思:东西多了看着就觉得很复杂,若是你在敲三层的时候也和我一样遇到类似的问题,建议你先多多调试成功的三层代码看看他们一步步是如何实现的,然后自己可以先敲U层和B层。现在回头来看三层,就觉得他是打包好了三个类模板,他们之间的沟通主要就是实体的方法调用来实现。


这篇关于VB.net三层登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1108499

相关文章

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Java中的登录技术保姆级详细教程

《Java中的登录技术保姆级详细教程》:本文主要介绍Java中登录技术保姆级详细教程的相关资料,在Java中我们可以使用各种技术和框架来实现这些功能,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录1.登录思路2.登录标记1.会话技术2.会话跟踪1.Cookie技术2.Session技术3.令牌技

SpringBoot后端实现小程序微信登录功能实现

《SpringBoot后端实现小程序微信登录功能实现》微信小程序登录是开发者通过微信提供的身份验证机制,获取用户唯一标识(openid)和会话密钥(session_key)的过程,这篇文章给大家介绍S... 目录SpringBoot实现微信小程序登录简介SpringBoot后端实现微信登录SpringBoo

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

在.NET平台使用C#为PDF添加各种类型的表单域的方法

《在.NET平台使用C#为PDF添加各种类型的表单域的方法》在日常办公系统开发中,涉及PDF处理相关的开发时,生成可填写的PDF表单是一种常见需求,与静态PDF不同,带有**表单域的文档支持用户直接在... 目录引言使用 PdfTextBoxField 添加文本输入域使用 PdfComboBoxField

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

springboot security验证码的登录实例

《springbootsecurity验证码的登录实例》:本文主要介绍springbootsecurity验证码的登录实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录前言代码示例引入依赖定义验证码生成器定义获取验证码及认证接口测试获取验证码登录总结前言在spring

最新Spring Security实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)

《最新SpringSecurity实战教程之表单登录定制到处理逻辑的深度改造(最新推荐)》本章节介绍了如何通过SpringSecurity实现从配置自定义登录页面、表单登录处理逻辑的配置,并简单模拟... 目录前言改造准备开始登录页改造自定义用户名密码登陆成功失败跳转问题自定义登出前后端分离适配方案结语前言