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

前言

       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

      计算机小白学习到了一个新的知识,兴奋!

评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值