目录
前言:
想要对用户进行查询,需要用到控件DataGrideView,通过代码的形式将数据库表中的数据显示在DataGrideview控件中,不用对DatGridView控件进行任何的操作,如果需要操作大家可以看看这一篇文章有详细的讲解:DataGrideView:操作讲解
在这里面也运用了分层的思想,从中也体会到分层的好处:
单一职责: | 每一层之负责一个职责,职责边界清晰,不会照成跨级调用。 |
高内聚 | 分层是把相同的职责放在同一层中,所有业务的逻辑聚在BLL层。 |
低耦合: | 依赖关系非常简单,上层只能依赖于下层,没有循环依赖。 |
易维护: | 面对业务的修改或者变动更容易修改。那层出现错误就修改那层 |
易复用: | 功能模块变动了,只需调整相应的功能模块 |
过程:
在开始的时候需要进行引用,这样我们才能相互的调用,在这里截出一个UI层引用的界面,其他层也是一样,找到引用进行添加。
1.UI右(BLL层,DAL层),BLL→(DAL层,实体层),DAL→(实体层)
2.界面的展示,其他控件可以根据自己的需求进行添加:
UI层代码展示:
UI层负责设计和实现,将数据从应用程序传递给用户,并接受用户的输入。页面的显示,比如各种应用的平台,微信,淘宝,面向用户的界面接受用户的输入就是UI层
Public Sub Button1_Click(sender As Object, e As EventArgs) Handles BtnOK.Click
Try
'定义实体类
Dim selectUser As New Entity.Usersurface
'赋值
selectUser.UserNo = TxtUserNo.Text
'实例化B层
Dim aselect As New BLL.UserBLL
'清除文本框中的数据
TxtUserNo.Clear()
'调用D层的方法
DataGridView1.DataSource = aselect.selectBAL(selectUser)
'异常处理语句块,用于捕获Try块中抛出的异常
Catch ex As Exception
'处理异常信息显示在文本框中
MessageBox.Show(ex.Message.ToString)
End Try
End Sub
BLL层代码展示:
BLL负责处理应用程序的业务逻辑,包括数据的验证,计算,逻辑处理。用户是看不到的,进行逻辑上的判断。
Public Function selectBAL(selectUser As Entity.Usersurface) As DataTable
'实例化
Dim sqlcommnd As New SqlCommand
'实例化D层
Dim aselect As New DAL.UserDAL
Dim dst As New DataSet
Dim dt As New DataTable
Dim dataAdapter As New SqlDataAdapter
sqlcommnd = aselect.selectDAL(selectUser)
dataAdapter.SelectCommand = sqlcommnd
'Fill用于将数据填充到DataSet或DataTable中
dataAdapter.Fill(dst, "User")
dt = dst.Tables("User")
Return dt
End Function
DAL层代码展示:
DAL负责管理应用程序的数据存储和访问,包括对数据库的读取、写入、更新、删除、等等
数据访问层通过包括数据访问组件、数据访问对象,简单的来说就是跟数据库进行打交道。
数据库的连接:
'连接数据的详细操作,DAL层通过调用,或者可以直接在DAL层中直接下载DAL层也可以
Public Class connect
Public Shared Function connstring() As String
connstring = "Server= .;Database=cybercafe;User ID=sa;Password=123456;"
End Function
End Class
DAL层详细代码:
Public Function selectDAL(selectuser As Entity.Usersurface) As SqlCommand
'定义实体类
'连接数据库
Dim conn As New SqlConnection(connect.connstring)
'打开数据库
conn.Open()
'数据库查询
Dim sql As String = "SELECT * FROM User_info Where UserNo=@UserNo"
'执行SQL
Dim cmd As SqlCommand = New SqlCommand(sql, conn)
cmd.Parameters.Add(New SqlParameter("@UserNo", selectuser.UserNo))
'关闭数据库
conn.Close()
'返回消息
Return cmd
End Function
查询用户效果图:
![](https://i-blog.csdnimg.cn/blog_migrate/a660cd72a39ae5b852e8c11f7be7f8d4.png)
总结:
想要掌握三层需要学习其概念、特点和应用,并通过实现不断加深理解和改进。