我个人一直认为,组合查询是机房收费系统的一个难点,尤其是用到三层之后,如果要为组合查询中的每一个查询建立一个显然是太麻烦了。

下面介绍一下我的方法,对大家起个参考作用。

我将该表中可输入的内容定义为一个类,这样调用一次B层和D层就可以了完成查询了。

我以学生上机记录查询为例

1、UI层

Public Class FrmQuerryRecALLStuUPProtected Overrides Sub cmdQuerry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)TrymyGrid.Columns.Clear()myGrid.Columns.Add("卡号", "卡号")myGrid.Columns.Add("学号", "学号")myGrid.Columns.Add("学生姓名", "学生姓名")myGrid.Columns.Add("性别", "性别")myGrid.Columns.Add("上机日期", "上机日期")myGrid.Columns.Add("上机时间", "上机时间")myGrid.Columns.Add("上机日期", "下机日期")myGrid.Columns.Add("下机日期", "下机时间")myGrid.Columns.Add("消费金额", "消费金额")' myGrid.Columns.Add("操作员", "操作员")'''''''''''''''将组合框中内容传递到UQuery参数''''''''''''''''''Dim UQuery As New Entity.Entity_QueryCompositonUQuery.Combine1 = Trim(cobCombine1.Text)UQuery.Combine2 = Trim(cobCombine2.Text)UQuery.FiledName1 = Trim(cobFild1.Text)UQuery.FiledName2 = Trim(cobFild2.Text)UQuery.FiledName3 = Trim(cobFild3.Text)UQuery.Operator1 = Trim(cobOperator1.Text)UQuery.Operator2 = Trim(cobOperator2.Text)UQuery.Operator3 = Trim(cobOperator3.Text)UQuery.QueryContent1 = Trim(TextBox1.Text)UQuery.QueryContent2 = Trim(TextBox2.Text)UQuery.QueryContent3 = Trim(TextBox3.Text)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Dim BQuerry As New BLL.BLL_QuerryCompositonDim BIsEmpty As StringBIsEmpty = BQuerry.isEmpty(UQuery)  '判断是否为空If BQuerry.QuerryOK = False Then    '如果判断失败,则退出Exit SubEnd IfDim BModifyFild As New Entity.Entity_QueryCompositonBModifyFild = BQuerry.ModifyFild(UQuery)    '将汉字转换为计算机能识别的语言Dim table As New DataTabletable = BQuerry.QuerryStuUp(BModifyFild)If table.Rows.Count <= 0 ThenMsgBox("没有记录")ElseFor i = 0 To table.Rows.Count - 1 '将dt表中的内容显示在DataGridView中  ’这种方式显示部分myGrid.Rows.Add()myGrid.Rows(i).Cells(0).Value = table.Rows(i)(0) '卡号  myGrid.Rows(i).Cells(1).Value = table.Rows(i)(1) '学号 myGrid.Rows(i).Cells(2).Value = table.Rows(i)(2) '学生姓名 myGrid.Rows(i).Cells(3).Value = table.Rows(i)(4) '性别myGrid.Rows(i).Cells(4).Value = table.Rows(i)(5) '上机日期myGrid.Rows(i).Cells(5).Value = table.Rows(i)(6) '上机时间myGrid.Rows(i).Cells(6).Value = table.Rows(i)(7) '下机日期myGrid.Rows(i).Cells(7).Value = table.Rows(i)(8) '下机时间myGrid.Rows(i).Cells(8).Value = table.Rows(i)(10) '消费金额'  myGrid.Rows(i).Cells(9).Value = table.Rows(i)(9) '操作员Next imyGrid.Rows(0).Selected = FalseEnd IfCatch ex As ExceptionMsgBox(ex.Message, vbOKOnly, "警告!")End TryEnd SubProtected Overrides Sub cmdOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Dim grd = daochu(myGrid)End SubPrivate Sub FrmQuerryRecALLStuUP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadcobFild1.Items.Add("卡号")cobFild1.Items.Add("学号")cobFild1.Items.Add("姓名")cobFild1.Items.Add("性别")cobFild1.Items.Add("上机日期")cobFild1.Items.Add("上机时间")cobFild1.Items.Add("下机日期")cobFild1.Items.Add("下机时间")cobFild1.Items.Add("消费金额")cobFild2.Items.Add("卡号")cobFild2.Items.Add("学号")cobFild2.Items.Add("姓名")cobFild2.Items.Add("性别")cobFild2.Items.Add("上机日期")cobFild2.Items.Add("上机时间")cobFild2.Items.Add("下机日期")cobFild2.Items.Add("下机时间")cobFild2.Items.Add("消费金额")cobFild3.Items.Add("卡号")cobFild3.Items.Add("学号")cobFild3.Items.Add("姓名")cobFild3.Items.Add("性别")cobFild3.Items.Add("上机日期")cobFild3.Items.Add("上机时间")cobFild3.Items.Add("下机日期")cobFild3.Items.Add("下机时间")cobFild3.Items.Add("消费金额")End Sub
End Class

2、B层

'/*************************************************
'作者:金福林
'小组: 无
'说明:组合框B层
'创建日期:2014/5/5 20:10:13
'版本号:1.1.0
'**********************************************/ Public Class BLL_QuerryCompositonImplements IDAL.IDAL_QuerryCompositonPublic QuerryOK As Boolean = FalsePublic Function CombineString(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As StringEnd FunctionPublic Function isEmpty(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As StringIf QuerryCompositon.FiledName1 = "" ThenMsgBox("字段名不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.Operator1 = "" ThenMsgBox("操作符不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.QueryContent1 = "" ThenMsgBox("查询内容不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.QueryContent1.Length > 11 ThenMsgBox("您对查询内容一输入的字符串过长,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.Combine1 <> "" Then     '如果组合关系不为空If QuerryCompositon.FiledName2 = "" ThenMsgBox("当存在组合关系时,字段名不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.Operator2 = "" ThenMsgBox("当存在组合关系时,操作符不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.QueryContent2 = "" ThenMsgBox("当存在组合关系时,查询内容不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.QueryContent2.Length > 11 ThenMsgBox("您对查询内容二输入的字符串过长,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfEnd IfIf QuerryCompositon.Combine2 <> "" Then     '如果组合关系不为空If QuerryCompositon.FiledName3 = "" ThenMsgBox("当存在组合关系时,字段名不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.Operator3 = "" ThenMsgBox("当存在组合关系时,操作符不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.QueryContent3 = "" ThenMsgBox("当存在组合关系时,查询内容不能为空,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfIf QuerryCompositon.QueryContent2.Length > 11 ThenMsgBox("您对查询内容三输入的字符串过长,请重新输入", vbOKOnly, "警告!")Exit FunctionEnd IfEnd IfQuerryOK = TrueEnd FunctionPublic Function ModifyFild(ByVal QUerryCompositon As Entity.Entity_QueryCompositon) As Entity.Entity_QueryCompositonDim tempString As StringDim CombineString As New Entity.Entity_QueryCompositonSelect Case QUerryCompositon.FiledName1''''''''''''''学生信息维护的字段修改''''''''''''''''''''''''''Case "学号"tempString = "studentNo"Case "卡号"tempString = "cardno"Case "性别"tempString = "sex"Case "年级"tempString = "grade"Case "班级"tempString = "class"Case "姓名"tempString = "studentName"Case "余额"tempString = "cash"''''''''''''学生上机记录的字段更改'''''''''''''''''Case "上机日期"tempString = "ondate"Case "上机时间"tempString = "ontime"Case "下机日期"tempString = "offdate"Case "下机时间"tempString = "offtime"Case "消费金额"tempString = "consume"''''''''''''''操作员工作记录字段''''''''''''''''''''''Case "教师"tempString = "UserID"Case "级别"tempString = "Level"Case "注册日期"tempString = "LoginDate"Case "注册时间"tempString = "LoginTime"Case "注销日期"tempString = "LogoutDate"Case "注销时间"tempString = "LogoutTime"Case "机器名"tempString = "computer"Case ElsetempString = ""End SelectCombineString.FiledName1 = tempString   '修改第一个字符串的名称Select Case QUerryCompositon.FiledName2Case "学号"tempString = "studentNo"Case "卡号"tempString = "cardno"Case "性别"tempString = "sex"Case "年级"tempString = "grade"Case "班级"tempString = "class"Case "姓名"tempString = "studentName"Case "余额"tempString = "cash"''''''''''''学生上机记录的字段更改'''''''''''''''''Case "上机日期"tempString = "ondate"Case "上机时间"tempString = "ontime"Case "下机日期"tempString = "offdate"Case "下机时间"tempString = "offtime"Case "消费金额"tempString = "consume"''''''''''''''操作员工作记录字段''''''''''''''''''''''Case "教师"tempString = "UserID"Case "级别"tempString = "Level"Case "注册日期"tempString = "LoginDate"Case "注册时间"tempString = "LoginTime"Case "注销日期"tempString = "LogoutDate"Case "注销时间"tempString = "LogoutTime"Case "机器名"tempString = "computer"Case ElsetempString = ""End SelectCombineString.FiledName2 = tempStringSelect Case QUerryCompositon.FiledName3Case "学号"tempString = "studentNo"Case "卡号"tempString = "cardno"Case "性别"tempString = "sex"Case "年级"tempString = "grade"Case "班级"tempString = "class"Case "姓名"tempString = "studentName"Case "余额"tempString = "cash"''''''''''''学生上机记录的字段更改'''''''''''''''''Case "上机日期"tempString = "ondate"Case "上机时间"tempString = "ontime"Case "下机日期"tempString = "offdate"Case "下机时间"tempString = "offtime"Case "消费金额"tempString = "consume"''''''''''''''操作员工作记录字段''''''''''''''''''''''Case "教师"tempString = "UserID"Case "级别"tempString = "Level"Case "注册日期"tempString = "LoginDate"Case "注册时间"tempString = "LoginTime"Case "注销日期"tempString = "LogoutDate"Case "注销时间"tempString = "LogoutTime"Case "机器名"tempString = "computer"Case ElsetempString = ""End SelectCombineString.FiledName3 = tempStringSelect Case QUerryCompositon.Combine1Case "与"tempString = "and"Case "或"tempString = "or"Case ElsetempString = ""End SelectCombineString.Combine1 = tempStringSelect Case QUerryCompositon.Combine2Case "与"tempString = "and"Case "或"tempString = "or"Case ElsetempString = ""End SelectCombineString.Combine2 = tempString'Select Case QUerryCompositon.Operator1'    Case "="'        tempString = "like"'        CombineString.Operator1 = tempString'    Case Else'        tempString = ""'        CombineString.Operator1 = QUerryCompositon.Operator1'End Select'Select Case QUerryCompositon.Operator2'    Case "="'        tempString = "like"'        CombineString.Operator2 = tempString'    Case Else'        tempString = ""'        CombineString.Operator2 = QUerryCompositon.Operator2'End Select'Select Case QUerryCompositon.Operator3'    Case "="'        tempString = "like"'        CombineString.Operator3 = tempString'    Case Else'        tempString = ""'        CombineString.Operator3 = QUerryCompositon.Operator3'End Select'''''''将未替换的字符仍然保留为原来字符'''''''''''''''''''''''CombineString.QueryContent1 = QUerryCompositon.QueryContent1CombineString.QueryContent2 = QUerryCompositon.QueryContent2CombineString.QueryContent3 = QUerryCompositon.QueryContent3CombineString.Operator1 = QUerryCompositon.Operator1CombineString.Operator2 = QUerryCompositon.Operator2CombineString.Operator3 = QUerryCompositon.Operator3Return CombineStringEnd FunctionPublic Function QuerryOperator(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryOperatorDim DQueryOperator As New DAL.DAL_QuerryCompositonDim table As New DataTabletable = DQueryOperator.QuerryOperator(QuerryCompositon)Return tableEnd FunctionPublic Function QuerryStuInfo(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuInfoDim DQueryStu As New DAL.DAL_QuerryCompositonDim table As New DataTabletable = DQueryStu.QuerryStuInfo(QuerryCompositon)Return tableEnd FunctionPublic Function QuerryStuUp(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuUpDim DQueryStuUP As New DAL.DAL_QuerryCompositonDim table As New DataTabletable = DQueryStuUP.QuerryStuUp(QuerryCompositon)Return tableEnd Function
End Class

3、D层

'/*************************************************
'作者:金福林
'小组: 无
'说明:组合查询D层
'创建日期:2014/5/5 21:02:58
'版本号:1.1.0
'**********************************************/ Public Class DAL_QuerryCompositonImplements IDAL.IDAL_QuerryCompositonPublic Function QuerryOperator(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryOperatorDim strcon As StringDim sqlHelper As New SqlHelperIf QuerryCompositon.Combine1 = "" Then '如果第一个组合框为空strcon = "select * from worklog_Info where " & QuerryCompositon.FiledName1 & " " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "'"ElseIf QuerryCompositon.Combine2 = "" Then  '如果第一个不为空,第二个组合框为空strcon = "select * from worklog_Info where " & QuerryCompositon.FiledName1 & " " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "'  " & QuerryCompositon.Combine1 & "  " & QuerryCompositon.FiledName2 _& " " & QuerryCompositon.Operator2 & "'" & QuerryCompositon.QueryContent2 & "'"Else    '如果两个组合框都不为空strcon = "select * from worklog_Info where " & QuerryCompositon.FiledName1 & " " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "' " & QuerryCompositon.Combine1 & "  " & QuerryCompositon.FiledName2 _& " " & QuerryCompositon.Operator2 & "'" & QuerryCompositon.QueryContent2 & "' " & QuerryCompositon.Combine2 _& "  " & QuerryCompositon.FiledName3 & " " & QuerryCompositon.Operator3 & "'" & QuerryCompositon.QueryContent3 & "'"End IfEnd IfReturn sqlHelper.ExecSelect(strcon, CommandType.Text)End FunctionPublic Function QuerryStuInfo(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuInfoDim strcon As StringDim sqlHelper As New SqlHelperIf QuerryCompositon.Combine1 = "" Then '如果第一个组合框为空strcon = "select * from student_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "'"ElseIf QuerryCompositon.Combine2 = "" Then  '如果第一个不为空,第二个组合框为空strcon = "select * from student_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "'  " & QuerryCompositon.Combine1 & "  " & QuerryCompositon.FiledName2 _& "  " & QuerryCompositon.Operator2 & "'" & QuerryCompositon.QueryContent2 & "'"Else    '如果两个组合框都不为空strcon = "select * from student_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "' " & QuerryCompositon.Combine1 & "  " & QuerryCompositon.FiledName2 _& "  " & QuerryCompositon.Operator2 & "'" & QuerryCompositon.QueryContent2 & "' " & QuerryCompositon.Combine2 _& "  " & QuerryCompositon.FiledName3 & "  " & QuerryCompositon.Operator3 & "'" & QuerryCompositon.QueryContent3 & "'"End IfEnd IfReturn sqlHelper.ExecSelect(strcon, CommandType.Text)End FunctionPublic Function QuerryStuUp(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuUpDim strcon As StringDim sqlHelper As New SqlHelperIf QuerryCompositon.Combine1 = "" Then '如果第一个组合框为空strcon = "select * from Line_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "'"ElseIf QuerryCompositon.Combine2 = "" Then  '如果第一个不为空,第二个组合框为空strcon = "select * from Line_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "'  " & QuerryCompositon.Combine1 & "  " & QuerryCompositon.FiledName2 _& "  " & QuerryCompositon.Operator2 & "'" & QuerryCompositon.QueryContent2 & "'"Else    '如果两个组合框都不为空strcon = "select * from Line_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _& "'" & QuerryCompositon.QueryContent1 & "' " & QuerryCompositon.Combine1 & "  " & QuerryCompositon.FiledName2 _& "  " & QuerryCompositon.Operator2 & "'" & QuerryCompositon.QueryContent2 & "' " & QuerryCompositon.Combine2 _& "  " & QuerryCompositon.FiledName3 & "  " & QuerryCompositon.Operator3 & "'" & QuerryCompositon.QueryContent3 & "'"End IfEnd IfReturn sqlHelper.ExecSelect(strcon, CommandType.Text)End Function
End Class

4、实体层

'/*************************************************
'作者:金福林
'小组: 无
'说明:用于组合查询的类
'创建日期:2014/5/5 20:01:08
'版本号:1.1.0
'**********************************************/ Public Class Entity_QueryCompositonPrivate e_FiledName1 As String '字段1  Public Property FiledName1 As StringGetReturn Me.e_FiledName1End GetSet(ByVal value As String)Me.e_FiledName1 = valueEnd SetEnd PropertyPrivate e_FiledName2 As String '字段名2  Public Property FiledName2 As StringGetReturn Me.e_FiledName2End GetSet(ByVal value As String)Me.e_FiledName2 = valueEnd SetEnd PropertyPrivate e_FiledName3 As String '字段名3  Public Property FiledName3 As StringGetReturn Me.e_FiledName3End GetSet(ByVal value As String)Me.e_FiledName3 = valueEnd SetEnd PropertyPrivate e_Operator1 As String '操作符1  Public Property Operator1 As StringGetReturn Me.e_Operator1End GetSet(ByVal value As String)Me.e_Operator1 = valueEnd SetEnd PropertyPrivate e_Operator2 As String '操作符2  Public Property Operator2 As StringGetReturn Me.e_Operator2End GetSet(ByVal value As String)Me.e_Operator2 = valueEnd SetEnd PropertyPrivate e_Operator3 As String '操作符3  Public Property Operator3 As StringGetReturn Me.e_Operator3End GetSet(ByVal value As String)Me.e_Operator3 = valueEnd SetEnd PropertyPrivate e_QueryContent1 As String '查询内容1  Public Property QueryContent1 As StringGetReturn Me.e_QueryContent1End GetSet(ByVal value As String)Me.e_QueryContent1 = valueEnd SetEnd PropertyPrivate e_QueryContent2 As String '查询内容2  Public Property QueryContent2 As StringGetReturn Me.e_QueryContent2End GetSet(ByVal value As String)Me.e_QueryContent2 = valueEnd SetEnd PropertyPrivate e_QueryContent3 As String '查询内容3  Public Property QueryContent3 As StringGetReturn Me.e_QueryContent3End GetSet(ByVal value As String)Me.e_QueryContent3 = valueEnd SetEnd PropertyPrivate e_CompositionRelation1 As String '组合关系1  Public Property Combine1 As StringGetReturn Me.e_CompositionRelation1End GetSet(ByVal value As String)Me.e_CompositionRelation1 = valueEnd SetEnd PropertyPrivate e_CompositionRelation2 As String '组合关系2  Public Property Combine2 As StringGetReturn Me.e_CompositionRelation2End GetSet(ByVal value As String)Me.e_CompositionRelation2 = valueEnd SetEnd Property
End Class

5、接口层

Imports Entity
Public Interface IDAL_QuerryCompositon'  Function isEmpty(ByVal QuerryCompositon As Entity_QueryCompositon) As String' Function CombineString(ByVal QuerryCompositon As Entity_QueryCompositon) As String' Function ModifyFild(ByVal QUerryCompositon As Entity_QueryCompositon) As Entity_QueryCompositonFunction QuerryStuInfo(ByVal QuerryCompositon As Entity_QueryCompositon) As DataTableFunction QuerryStuUp(ByVal QuerryCompositon As Entity_QueryCompositon) As DataTableFunction QuerryOperator(ByVal QuerryCompositon As Entity_QueryCompositon) As DataTable
End Interface

6、sqlhelper类在我上篇博客中已经写到

http://blog.csdn.net/jinfulin/article/details/25072239

对于这么多代码,可能大家第一次看有点头大,大家主要看实体层和D层,不要照搬,领会思想,理解了之后就会觉得很简单了。

转载于:https://www.cnblogs.com/jinfulin/p/3797707.html

vb.net机房收费系统之组合查询相关推荐

  1. 【机房收费系统】---组合查询

    组合查询我们用到了Student_Info,首先你要告诉自己,它一点都不难,稍微用心下,就很容易明 白其中的道理了. 一.代码思路0-3 0.首先,老规矩,先判断是否为空. 1.当没有组合关系时,直接 ...

  2. 可行性研究报告——【VB版机房收费系统】

    1引言 1.1编写目的 在电子信息高速发展的今天,计算机已经是大家生活中必不可少的工具了.人工管理信息的时代已经一去不复返.计算机管理收费系统早已成为了现实,它具有管理方便.检索迅速.查找快速.可靠性 ...

  3. 重构机房VB.NET机房收费系统个人重构版你都学会了什么(之一)

    每日一贴,今天的内容关键字为重构机房 在VB.NET机房收费系统个人重构版时你都学会了什么?在开始第二遍的机房收费系统个人重构时,我发明不知不觉竟接触了很多很多之前不晓得的货色,也学到了很多新知识.下 ...

  4. VB版机房收费系统流程图--00

    前言:在完成学生信息管理的时候没有化流程图因为,学生有源码.但是机房收费系统几乎没有源码.有都是零零散散的,不是一个人写的所以不连贯.思路已不是很一致,功能一样但是人的思想是不一样的.所以实现方式上是 ...

  5. vb.net机房收费系统重构——存储过程的使用

    在敲写七层登陆过程中,接触了存储过程的概念,但当时还没使用.在正式的重构过程中,一点点添加,将存储过程也添加到了重构中.才正式了解了存储过程. 首先 [存储过程的概念] 存储过程Procedure是一 ...

  6. vb版机房收费系统“经典代码总结”--01

    前言:说到经典代码,每个人对经典代码的理解和应用都多多少少有点不同.因为每个人的重点不一样,虽然最后实现的功能是一样的.实现的过程和思路是每个人都不一样的,方法也有区别.所以我分享一下我的经典代码,我 ...

  7. vb.net机房收费系统——类的理解(sqlhelper)

    类,什么是类?让我们看看维基百科的定义 在现实世界中,经常有属于同一个类的对象.例如,某辆自行车只是世界上很多自行车中的一辆.在面向对象软件中,也有很多共享相同特征的不同的对象:矩形.雇用记录.视频剪 ...

  8. 【VB】机房收费系统(结账)

    结账,我觉得他的作用就是能让管理员能对这一天每一位操作员的收支有一个一目了然的了解. 汇总的小知识:        售卡张数=购卡选项卡的记录总数        退卡张数=退卡选项卡的记录总数     ...

  9. VB版机房收费系统”登录“--02

    前言:所有软件一开始第一个功能都是登录,所以登录可以说是用户体验度非常重要的一个环节.假如:你的登录页面做的非常的不好看,而且用户登录的时间还长.这个会大大的影响到用户后面的功能体验,所以登录功能担任 ...

最新文章

  1. ai里为什么不能随意放大缩小_平面设计基础知识:平面设计师应该熟练掌握的软件之AI。...
  2. Android 通用流行框架大全
  3. 深度学习笔记第二门课 改善深层神经网络 第一周:深度学习的实践层面
  4. oracle 常用故障,Oracle常见问题解决方案汇总
  5. 《python深度学习》代码中文注释
  6. PRML-系列一之1.3~1.4
  7. 周杰伦新歌《说好不哭》上线,程序员哭了......【华为云分享】
  8. neo4j docker
  9. XEON® Scalable-如何为虚拟化挑选合适的CPU
  10. Taobao File System
  11. Chrome查看Android的systrace抓取的log
  12. html 有序无序列表
  13. Xamarin.Form 超链接 用手势实现
  14. 5.1、按键SW1控制LED1亮灭
  15. java txt导出_Java导出txt文件的方法
  16. 便携式电热水壶外贸出口欧洲CE认证准备资料
  17. 队列:实用服务和数据结构
  18. 如何制定人生目标体系
  19. 李沐-斯坦福《实用机器学习》-01章
  20. 十大众筹PC:硅谷新生代如何打造下一代计算机

热门文章

  1. [python]getopt模块的使用介绍
  2. scenario和group执行的区别
  3. 对比MySQL,一文看透HBase的能力及使用场景
  4. Mysql用户管理(远程连接、授权)
  5. 二叉树的构造及其前序,中序,后序遍历
  6. (8). 使用JPA保存数据【从零开始学Spring Boot】
  7. (转载)hibernate3.0配置文件模板
  8. 网站导航(自定义站点地图)
  9. hibernate映射配置文件说明
  10. 开源大数据:Databricks Lakehouse