首页 > 代码库 > 一个窗体实现四个功能——组合查询

一个窗体实现四个功能——组合查询

       在做“机房”的过程中,有很多相同功能的窗体,在敲第一次的时候由于是处在学习和练习的阶段,对于重复的功能和代码还是比较待见的。因为初次在很菜的情况下自主建立一个系统,总想着多练练,能熟练些,不能说是背(也背不了),但想将其形成常识。

       每次进步一点点。这次再做,虽说换了一种语言,但业务逻辑方面需要思考就少了很多。再加之,在此之前学习了设计模式。说起设计模式,心里没底,还好设计模式的讲解语言通俗易懂,常以小故事的形式进行引导。设计模式的目的是将程序设计成可复用性强、灵活性好、安全性高、性能稳定的软件。设计模式很重要的设计手段就是抽象和封装。重要的工具就是接口,运用接口,大大加强程序内部模块之间、软件之间的兼容性。

       下面就是在抽象思想的指导下,对“机房”中具有极大相似度的四个组合信息查询窗体进行抽象合并,用一个窗体进实现。

四窗体“学生基本信息维护学生上机状态查询学生上机统计信息查询操作员工作记录对应各种的四功能。

       1.信息查询,首要问题是解决查询条件的问题。

       组合查询的条件到了确定功能确定以后,条件不再受数据表的影响,因为功能已唯一确定了对应的数据表,所有可以把所要查询的数据表的判断提前到窗体选择的时候。当数据表一确定,接下来的查询就只与界面信息有关系,而没有其他顾虑了。

       查询条件既然由界面控制和获得,那么将界面信息做成一整套,封装起来,以便以前面进行衔接。

       2.返回ComboBox中选定的项

       界面信息,捕获后能直接使用的,没什么可说的,简单地传递就行。

       界面信息,捕获后不能直接用,与数据库表的列名不符的,显示的是中文,便于用户的理解;而数据表中用英文(字母)命名,所以需要转化。

下面是最值得说的,其他的就“外孙打灯笼”。

    Public Function chargefield1database() As String  '返回cmbnName1
        Dim field1 As String
        Select Case cmbName1.SelectedIndex
            Case 0
                field1 = "CardID"
                Return field1
            Case 1
                field1 = "UserID"
                Return field1
            Case 2
                field1 = "UserName"
                Return field1
            Case 3
                field1 = "Sex"
                Return field1
            Case 4
                field1 = "Department"
                Return field1
            Case 5
                field1 = "Grade"
                Return field1
            Case 6
                field1 = "stuClass"
                Return field1
        End Select
        Return Nothing
    End Function</span>

一个窗体实现四个功能——组合查询