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

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

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

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

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

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

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

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

       2.返回ComboBox中选定的项

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

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

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

    Public Function chargefield1database() As String  '返回cmbnName1

        Select Case cmbName1.SelectedIndex
            Case 0
                Return "CardID"
            Case 1
                Return "UserID"
            Case 2
                Return "UserName"
            Case 3
                Return "Sex"
            Case 4
                Return "Department"
            Case 5
                Return "Grade"
            Case 6
                Return "stuClass"
        End Select

        Return Nothing
    End Function

 

你可能感兴趣的:(组合查询,捕获ComboBox当前选中项)