读书人

【机房系统常识小结点系列】之组合查询

发布时间: 2013-10-08 17:12:09 作者: rapoo

【机房系统知识小结点系列】之组合查询

在做机房系统的时候,很多的同学把“组合查询”的功能放在最后来实现。分析原因,主要是头脑中思绪万千,不知道该如何下手而已。下面呢?我就来帮您屡一下头绪。

先来看一下我们的界面:

【机房系统常识小结点系列】之组合查询

U层是负责显示数据和接收用户输入的数据,以及数据的返回。

功能设计:

一、根据“组合条件”是否存在,可以分成四种方案,每种方案有着不同的功能。

二、把用户输入的信息,原封不动的存放在一个“容器”中。

三、将“容器”整体作为“参数”,传递给B层,并接受B层返回的结果。

四、将返回的结果,以“表格”的形式显示出来?(略)

Imports EntityImports System.Data.SqlClientPublic Class OnlineLogDAL '上机记录    Public Function QueryStudentOnlineLogFuzzyByGroup(ByVal enGroup As Entity.GroupEntity) As DataTable '按照组合查询的方式,查询学生的上机信息        Dim sqlserver As String = "SELECT cardID as 卡号,stuID as 学号, onlineDateTime as 上机日期, computerName as 机器名 FROM V_QueryStudentOnlineLogFuzzy WHERE " & enGroup.FileName1 & enGroup.Operate1 & "@Context1  " & " " & enGroup.Relation1 & " " & enGroup.FileName2 & enGroup.Operate2 & "@Context2 " & " " & enGroup.Relation2 & " " & enGroup.FileName3 & enGroup.Operate3 & "@Context3 "        Dim paras As SqlParameter() = {New SqlParameter("@FileName1", enGroup.FileName1),                                       New SqlParameter("@Operate1", enGroup.Operate1),                                       New SqlParameter("@Context1", enGroup.Content1),                                       New SqlParameter("@Relation1", enGroup.Relation1),                                       New SqlParameter("@FileName2", enGroup.FileName2),                                       New SqlParameter("@Operate2", enGroup.Operate2),                                       New SqlParameter("@Context2", enGroup.Content2),                                       New SqlParameter("@Relation2", enGroup.Relation2),                                       New SqlParameter("@FileName3", enGroup.FileName3),                                       New SqlParameter("@Operate3", enGroup.Operate3),                                       New SqlParameter("@Context3", enGroup.Content3)                                       }        Dim dtOnlineLog As New DataTable        Dim sqlhelper As New sqlHelper        dtOnlineLog = sqlhelper.ExecuteQuery(sqlserver, CommandType.Text, paras)        Return dtOnlineLog    End FunctionEnd Class


总结:就像机房系统中的功能设计一样,U、B、D层各司其职,不要把所有的功能都混为一谈。当你对某种东西理不清头绪的候,首先要在心理肯定自己“一切问题都不是问题,问题就是怎么办?!”其次,一定要把所有的问题都一一列出来,逐一攻克。


2楼zhanglianhai555昨天 20:54
so cool!!
1楼hy6688_前天 20:24
思路很清晰

读书人网 >其他相关

热点推荐