目录
想要对用户进行查询,需要用到控件DataGrideView,通过代码的形式将数据库表中的数据显示在DataGrideview控件中,不用对DatGridView控件进行任何的操作,如果需要操作大家可以看看这一篇文章有详细的讲解:DataGrideView:操作讲解
在这里面也运用了分层的思想,从中也体会到分层的好处:
单一职责: | 每一层之负责一个职责,职责边界清晰,不会照成跨级调用。 |
高内聚 | 分层是把相同的职责放在同一层中,所有业务的逻辑聚在BLL层。 |
低耦合: | 依赖关系非常简单,上层只能依赖于下层,没有循环依赖。 |
易维护: | 面对业务的修改或者变动更容易修改。那层出现错误就修改那层 |
易复用: | 功能模块变动了,只需调整相应的功能模块 |
在开始的时候需要进行引用,这样我们才能相互的调用,在这里截出一个UI层引用的界面,其他层也是一样,找到引用进行添加。
1.UI右(BLL层,DAL层),BLL→(DAL层,实体层),DAL→(实体层)
2.界面的展示,其他控件可以根据自己的需求进行添加:
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负责处理应用程序的业务逻辑,包括数据的验证,计算,逻辑处理。用户是看不到的,进行逻辑上的判断。
- 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层也可以
- 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
想要掌握三层需要学习其概念、特点和应用,并通过实现不断加深理解和改进。