您的位置:首页 > 编程语言 > VB

vb.net版机房重构--充值记录查询

2017-07-16 21:55 176 查看

前言

vb.net和VB两种的差距并不是非常大,但是使用起来还是有一些不同的,拿机房的充值记录查询功能实现来具体说明。使用 vs就比使用VB要简单很多,省去了很多人工的操作。

操作说明

在vb.net版机房收费系统中我对需求做了修改,学生端的充值记录查询就变成了如下界面:



1、 功能:当充值记录查询界面打开的时候学号会将登录界面的学号同步过来,相应的DataGridView中就会显示出相应的记录信息,无需再次查询,同时,也为了保护用户的信息,学生端的用户只能查询个人的信息。

2、接下来就谈谈DataGridView的具体使用,首次使用的时候会觉得有些困难,但是操作一遍之后再进行就会发现非常简单了。

(1)点击工具右上角的小三角,选择“获取项目数据源”,如图:



(2)根据出来的页面依次点击下一步即可



(3)然后点击如下图的新建链接



(4)根据如下图片进行填写内容



(5)点击确定后进行接下来的操作,本部分内容选择的数据表为recharge,为了进行各个dataset的区分,将其重新命名,如图:



(6)进行完以上操作之后设计结果如图,但是我们会发现它是将数据库中的表导出,那么这样不方便用户查看,我们就要进行相应的修改



(7)点击表的右上角的小三角,选择“编辑列”,然后修改外观的HeaderText,如图所示:



(8)修改完成之后就会看到如下图了,这样就更贴近客户了一些



(9)DataGridView还有非常好的一点就是简单方便,可以通过添加查询来实现表格和数据库中数据的链接,修改红框中的数据,这里需要根据自己的代码来写,如图所示:



(10)然后点击查询生成器,进行如下图的操作



(11)最后也就大功告成了!



(12)然后我们会发现有一些自动生成的代码

'TODO: 这行代码将数据加载到表“Rechargerecord.recharge”中。您可以根据需要移动或删除它。
Me.RechargeTableAdapter.Fill(Me.Rechargerecord.recharge)


Private Sub FillByToolStripButton_Click(sender As Object, e As EventArgs) Handles FillByToolStripButton.Click
Try
Me.RechargeTableAdapter.FillBy(Me.Rechargerecord.recharge, UserNameToolStripTextBox.Text)
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try

End Sub


部分代码展示

U层

Public Class U_Rechargerecord

Private Sub U_Rechargerecord_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'TODO: 这行代码将数据加载到表“Rechargerecord.recharge”中。您可以根据需要移动或删除它。 Me.RechargeTableAdapter.Fill(Me.Rechargerecord.recharge)
'删除最后一行空行
DataGridView1.AllowUserToAddRows = False
'隐藏工具栏
FillByToolStrip.Hide()

'接下来要进行的就是将登录窗体的用户名传入此窗体的文本框中
Dim facadeRechargerecord As New Facade.Fe_Rechargerecord
Dim table As DataTable
Dim UserInfo As New Entity.E_Rechargerecord
table = facadeRechargerecord.CheckLink(UserInfo)
txtstudentNo.Text = table.Rows(0)(1)
End Sub

Private Sub FillByToolStripButton_Click(sender As Object, e As EventArgs) Handles FillByToolStripButton.Click Try Me.RechargeTableAdapter.FillBy(Me.Rechargerecord.recharge, UserNameToolStripTextBox.Text) Catch ex As System.Exception System.Windows.Forms.MessageBox.Show(ex.Message) End Try End Sub

Private Sub txtstudentNo_TextChanged(sender As Object, e As EventArgs) Handles txtstudentNo.TextChanged
'因为这里不需要点击按钮,txtstudentNo文本框中的数据直接接受登录窗体的用户名,所以这里需要
'做的就是当文本框中同步登录窗体的内容时触发tool工具
'将文本框中的值赋值给添加的查询tootextbox
UserNameToolStripTextBox.Text = txtstudentNo.Text
Try
Me.RechargeTableAdapter.FillBy(Me.Rechargerecord.recharge, UserNameToolStripTextBox.Text)
Catch ex As System.Exception
System.Windows.Forms.MessageBox.Show(ex.Message)
End Try
End Sub

End Class


外观层

Public Class Fe_Rechargerecord
Public Function CheckLink(ByVal UserInfo As Entity.E_Rechargerecord) As DataTable
Dim isLink As New BLL.B_Rechargerecord
Dim flag As DataTable
flag = isLink.Link(UserInfo)
Return flag
End Function
End Class


B层

Public Class B_Rechargerecord
Public Function Link(ByVal UserInfo As Entity.E_Rechargerecord) As DataTable
Dim IRechargerecord As IDAL.I_Rechargerecord
'调用创建用户的工厂方法
IRechargerecord = Factory.Fy_Rechargerecord.CreateUserInterface
Dim table As DataTable
table = IRechargerecord.selectUser(UserInfo)
Return table
End Function
End Class


D层

Imports System.Data.SqlClient
Public Class D_Rechargerecord : Implements IDAL.I_Rechargerecord
'声明并实例化sqlhelper类
Private SqlHelper As SQLHelper.sqlhelper = New SQLHelper.sqlhelper
'增删改查
Public Function selectUser(UserInfo As Entity.E_Rechargerecord) As DataTable Implements IDAL.I_Rechargerecord.selectUser
'定义
Dim Sql As String
'中间变量用于存储从数据库中查找信息
Dim table As DataTable
'声明并实例化参数数组
'这里需要调用登录窗体的用户名
Dim UserInfo1 As New Entity.E_Login
Dim sqlParams As SqlParameter() = {New SqlParameter("@UserName", UserInfo.UserName = UserInfo1.UserName)}
Sql = "select * from recharge where studentNo=@UserName"
table = SqlHelper.GetDataTable(Sql, CommandType.Text, sqlParams)
Return table
End Function
End Class


计算机小白学习到了一个新的知识,兴奋!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: