三层登录实现
来源:互联网 发布:非农历史数据统计分析 编辑:程序博客网 时间:2024/05/22 12:31
通过查资料,敲例子,对三层也有了一定的理解,下面是我通过对三层的视频学习之后,敲的一段机房收费系统中登录界面的例子。还是有很多地方不是很完善。
一实体类Model(与数据库中的表对应)
Public Class User Private name As String Private password As String Private Userid As String Private level As String Private account As String '以下为可读写属性 Public Property user_name() As String Get Return name End Get Set(ByVal value As String) name = value End Set End Property Public Property user_id() As String Get Return Userid End Get Set(ByVal value As String) Userid = value End Set End Property Public Property user_pwd() As String Get Return password End Get Set(ByVal value As String) password = value End Set End Property Public Property user_level() As String Get Return level End Get Set(ByVal value As String) level = value End Set End Property Public Property user_account() As String Get Return account End Get Set(ByVal value As String) account = value End Set End Property End Class
二UI层-表现层 (界面的操作)
Public Class Form1 Private Sub butCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butCancel.Click End End Sub Private Sub butOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butOK.Click '定义一个实体类对象,将文本框中的内容赋给实体类对象 Dim thisUser As Model.User = New Model.User thisUser.user_id = txtUserID.Text.ToString() thisUser.user_pwd = txtUserPWD.Text.ToString() '定义一个业务逻辑层对象,根据业务逻辑层返回的结果,通知用户信息 Dim uB As BLL.UserBLL = New BLL.UserBLL If uB.query_user(thisUser) Then MsgBox(True) Else MsgBox(False) End If End Sub End Class
三BLL层-业务逻辑层 (将数据层的数据返回,传递数据)
Public Class UserBLL '定义一个D层的对象 Dim db As DAL.UserDB = New DAL.UserDB '此函数的作用是返回D层的执行结果 Public Function query_user(ByVal model As Model.User) As Boolean Return db.Query_User(model) End Function End Class
五DAL层-数据访问层 (数据库连接,查询语句)
Imports System.Data.SqlClient Public Class UserDB '数据库连接语句 Dim str As String = "Data Source=localhost;Initial Catalog=Charge;Persist Security Info=True;User ID=sa;Password=123456" Dim conn As SqlClient.SqlConnection Public Sub New() '构造函数 建立连接,打开数据库 conn = New SqlClient.SqlConnection conn.ConnectionString = str conn.Open() End Sub '查询数据库中的用户是否存在 Public Function Query_User(ByVal tstUser As Model.User) As Boolean '数据库查询语句 Dim sqlstr As String sqlstr = "Select * From user_info Where user_id='" & tstUser.user_id & "' And user_PWD = '" & tstUser.user_pwd & "'" '查询 Dim sqlcmd As SqlClient.SqlCommand = New SqlClient.SqlCommand(sqlstr, conn) Dim myReader As SqlDataReader '定义一个reader用来读数据 myReader = sqlcmd.ExecuteReader() '运行你的查询,结果到myReader If myReader.Read() Then '如果查到了数据 Return True Else Return False End If End Function End Class
总结:
学习了三层架构,将一个系统分成DAL,BLL,UI层,实现了客户端和数据库之间的解耦,当我需要改动某一项功能时,只需改动本层的结构,这样大大的提高了系统的可维护性和可扩展性。
三层的使用,使得系统有一定的层次,方便理解,当需求改动时不需要大范围的修改,而且系统也易于扩展。
三层还是要我们多多的去理解,去应用,自己应该努力的地方还有很多。
0 0
- 三层登录C#实现
- 三层登录实现
- 三层登录实现
- 三层登录实现
- VB.net三层登录实现
- 三层登录VB.NET实现
- 三层架构实现用户登录
- 三层登录实现 C#版
- 三层代码实现问题 “用户登录”
- VB.net+三层架构 实现登录功能
- 三层搭建到实现的登录实例
- 三层架构结合外观模式实现登录
- ASP.NET 三层架构实现用户登录
- vb.net三层实现登录例子
- VB.NET 版三层登录的实现
- 三层登录
- 三层登录
- 【三层】三层登录+抽象工厂
- easyui使用总结
- Spring中的小知识点
- Spring MVC之文件上传与下载
- Android学习启动篇——itxiebo
- Leetcode 72. Edit Distance
- 三层登录实现
- Kmemleak检测工具介绍
- 索引值匹配图片切换
- 从控制台录入一个文件路径,将其拷贝到当前目录
- hdu 1025 Constructing Roads In JGShining's Kingdom
- ubuntu 15.04 为eclipse创建快捷方式
- java包生成API遇乱码问题解决方法
- 客户端生猛上手之控制台操作
- Webservice之schema