vb.net机房收费系统之组合查询

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

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

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


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




1、UI层

Public Class FrmQuerryRecALLStuUP

    Protected Overrides Sub cmdQuerry_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Try

            myGrid.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_QueryCompositon
            UQuery.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_QuerryCompositon
            Dim BIsEmpty As String
            BIsEmpty = BQuerry.isEmpty(UQuery)  '判断是否为空
            If BQuerry.QuerryOK = False Then    '如果判断失败,则退出
                Exit Sub
            End If

            Dim BModifyFild As New Entity.Entity_QueryCompositon
            BModifyFild = BQuerry.ModifyFild(UQuery)    '将汉字转换为计算机能识别的语言

            Dim table As New DataTable
            table = BQuerry.QuerryStuUp(BModifyFild)
            If table.Rows.Count <= 0 Then
                MsgBox("没有记录")
            Else
                For 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 i
                myGrid.Rows(0).Selected = False
            End If

        Catch ex As Exception
            MsgBox(ex.Message, vbOKOnly, "警告!")
        End Try
    End Sub

    Protected Overrides Sub cmdOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim grd = daochu(myGrid)
    End Sub

    Private Sub FrmQuerryRecALLStuUP_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        cobFild1.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_QuerryCompositon
    Implements IDAL.IDAL_QuerryCompositon

    Public QuerryOK As Boolean = False

    Public Function CombineString(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As String

    End Function

    Public Function isEmpty(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As String
        If QuerryCompositon.FiledName1 = "" Then
            MsgBox("字段名不能为空,请重新输入", vbOKOnly, "警告!")
            Exit Function
        End If

        If QuerryCompositon.Operator1 = "" Then
            MsgBox("操作符不能为空,请重新输入", vbOKOnly, "警告!")
            Exit Function
        End If

        If QuerryCompositon.QueryContent1 = "" Then
            MsgBox("查询内容不能为空,请重新输入", vbOKOnly, "警告!")
            Exit Function

        End If

        If QuerryCompositon.QueryContent1.Length > 11 Then
            MsgBox("您对查询内容一输入的字符串过长,请重新输入", vbOKOnly, "警告!")
            Exit Function
        End If



        If QuerryCompositon.Combine1 <> "" Then     '如果组合关系不为空
            If QuerryCompositon.FiledName2 = "" Then
                MsgBox("当存在组合关系时,字段名不能为空,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

            If QuerryCompositon.Operator2 = "" Then
                MsgBox("当存在组合关系时,操作符不能为空,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

            If QuerryCompositon.QueryContent2 = "" Then
                MsgBox("当存在组合关系时,查询内容不能为空,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

            If QuerryCompositon.QueryContent2.Length > 11 Then
                MsgBox("您对查询内容二输入的字符串过长,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

        End If


        If QuerryCompositon.Combine2 <> "" Then     '如果组合关系不为空
            If QuerryCompositon.FiledName3 = "" Then
                MsgBox("当存在组合关系时,字段名不能为空,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

            If QuerryCompositon.Operator3 = "" Then
                MsgBox("当存在组合关系时,操作符不能为空,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

            If QuerryCompositon.QueryContent3 = "" Then
                MsgBox("当存在组合关系时,查询内容不能为空,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

            If QuerryCompositon.QueryContent2.Length > 11 Then
                MsgBox("您对查询内容三输入的字符串过长,请重新输入", vbOKOnly, "警告!")
                Exit Function
            End If

        End If
        QuerryOK = True
    End Function

    Public Function ModifyFild(ByVal QUerryCompositon As Entity.Entity_QueryCompositon) As Entity.Entity_QueryCompositon

        Dim tempString As String
        Dim CombineString As New Entity.Entity_QueryCompositon
        Select 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 Else
                tempString = ""
        End Select
        CombineString.FiledName1 = tempString   '修改第一个字符串的名称


        Select Case QUerryCompositon.FiledName2
            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 Else
                tempString = ""
        End Select
        CombineString.FiledName2 = tempString


        Select Case QUerryCompositon.FiledName3
            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 Else
                tempString = ""
        End Select
        CombineString.FiledName3 = tempString


        Select Case QUerryCompositon.Combine1
            Case "与"
                tempString = "and"
            Case "或"
                tempString = "or"
            Case Else
                tempString = ""
        End Select
        CombineString.Combine1 = tempString


        Select Case QUerryCompositon.Combine2
            Case "与"
                tempString = "and"
            Case "或"
                tempString = "or"
            Case Else
                tempString = ""

        End Select
        CombineString.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.QueryContent1
        CombineString.QueryContent2 = QUerryCompositon.QueryContent2
        CombineString.QueryContent3 = QUerryCompositon.QueryContent3

        CombineString.Operator1 = QUerryCompositon.Operator1
        CombineString.Operator2 = QUerryCompositon.Operator2
        CombineString.Operator3 = QUerryCompositon.Operator3
        Return CombineString

    End Function

    Public Function QuerryOperator(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryOperator
        Dim DQueryOperator As New DAL.DAL_QuerryCompositon
        Dim table As New DataTable
        table = DQueryOperator.QuerryOperator(QuerryCompositon)
        Return table
    End Function

    Public Function QuerryStuInfo(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuInfo
        Dim DQueryStu As New DAL.DAL_QuerryCompositon
        Dim table As New DataTable
        table = DQueryStu.QuerryStuInfo(QuerryCompositon)
        Return table
    End Function

    Public Function QuerryStuUp(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuUp
        Dim DQueryStuUP As New DAL.DAL_QuerryCompositon
        Dim table As New DataTable
        table = DQueryStuUP.QuerryStuUp(QuerryCompositon)
        Return table
    End Function
End Class



3、D层

'/*************************************************   
'作者:金福林
'小组: 无
'说明:组合查询D层
'创建日期:2014/5/5 21:02:58  
'版本号:1.1.0  
'**********************************************/ 

Public Class DAL_QuerryCompositon
    Implements IDAL.IDAL_QuerryCompositon



    Public Function QuerryOperator(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryOperator
        Dim strcon As String
        Dim sqlHelper As New SqlHelper
        If QuerryCompositon.Combine1 = "" Then '如果第一个组合框为空
            strcon = "select * from worklog_Info where " & QuerryCompositon.FiledName1 & " " & QuerryCompositon.Operator1 _
                & "'" & QuerryCompositon.QueryContent1 & "'"
        Else
            If 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 If
        End If

        Return sqlHelper.ExecSelect(strcon, CommandType.Text)
    End Function

    Public Function QuerryStuInfo(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuInfo
        Dim strcon As String
        Dim sqlHelper As New SqlHelper
        If QuerryCompositon.Combine1 = "" Then '如果第一个组合框为空
            strcon = "select * from student_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _
                & "'" & QuerryCompositon.QueryContent1 & "'"
        Else
            If 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 If
        End If

        Return sqlHelper.ExecSelect(strcon, CommandType.Text)
    End Function

    Public Function QuerryStuUp(ByVal QuerryCompositon As Entity.Entity_QueryCompositon) As System.Data.DataTable Implements IDAL.IDAL_QuerryCompositon.QuerryStuUp
        Dim strcon As String
        Dim sqlHelper As New SqlHelper
        If QuerryCompositon.Combine1 = "" Then '如果第一个组合框为空
            strcon = "select * from Line_Info where " & QuerryCompositon.FiledName1 & "  " & QuerryCompositon.Operator1 _
                & "'" & QuerryCompositon.QueryContent1 & "'"
        Else
            If 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 If
        End If

        Return sqlHelper.ExecSelect(strcon, CommandType.Text)
    End Function
End Class




4、实体层

'/*************************************************   
'作者:金福林
'小组: 无
'说明:用于组合查询的类 
'创建日期:2014/5/5 20:01:08  
'版本号:1.1.0  
'**********************************************/ 


Public Class Entity_QueryCompositon
    Private e_FiledName1 As String '字段1  
    Public Property FiledName1 As String
        Get
            Return Me.e_FiledName1
        End Get
        Set(ByVal value As String)
            Me.e_FiledName1 = value
        End Set
    End Property


    Private e_FiledName2 As String '字段名2  
    Public Property FiledName2 As String
        Get
            Return Me.e_FiledName2
        End Get
        Set(ByVal value As String)
            Me.e_FiledName2 = value
        End Set
    End Property


    Private e_FiledName3 As String '字段名3  
    Public Property FiledName3 As String
        Get
            Return Me.e_FiledName3
        End Get
        Set(ByVal value As String)
            Me.e_FiledName3 = value
        End Set
    End Property


    Private e_Operator1 As String '操作符1  
    Public Property Operator1 As String
        Get
            Return Me.e_Operator1
        End Get
        Set(ByVal value As String)
            Me.e_Operator1 = value
        End Set
    End Property


    Private e_Operator2 As String '操作符2  
    Public Property Operator2 As String
        Get
            Return Me.e_Operator2
        End Get
        Set(ByVal value As String)
            Me.e_Operator2 = value
        End Set
    End Property


    Private e_Operator3 As String '操作符3  
    Public Property Operator3 As String
        Get
            Return Me.e_Operator3
        End Get
        Set(ByVal value As String)
            Me.e_Operator3 = value
        End Set
    End Property


    Private e_QueryContent1 As String '查询内容1  
    Public Property QueryContent1 As String
        Get
            Return Me.e_QueryContent1
        End Get
        Set(ByVal value As String)
            Me.e_QueryContent1 = value
        End Set
    End Property


    Private e_QueryContent2 As String '查询内容2  
    Public Property QueryContent2 As String
        Get
            Return Me.e_QueryContent2
        End Get
        Set(ByVal value As String)
            Me.e_QueryContent2 = value
        End Set
    End Property


    Private e_QueryContent3 As String '查询内容3  
    Public Property QueryContent3 As String
        Get
            Return Me.e_QueryContent3
        End Get
        Set(ByVal value As String)
            Me.e_QueryContent3 = value
        End Set
    End Property


    Private e_CompositionRelation1 As String '组合关系1  
    Public Property Combine1 As String
        Get
            Return Me.e_CompositionRelation1
        End Get
        Set(ByVal value As String)
            Me.e_CompositionRelation1 = value
        End Set
    End Property


    Private e_CompositionRelation2 As String '组合关系2  
    Public Property Combine2 As String
        Get
            Return Me.e_CompositionRelation2
        End Get
        Set(ByVal value As String)
            Me.e_CompositionRelation2 = value
        End Set
    End 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_QueryCompositon
    Function QuerryStuInfo(ByVal QuerryCompositon As Entity_QueryCompositon) As DataTable
    Function QuerryStuUp(ByVal QuerryCompositon As Entity_QueryCompositon) As DataTable
    Function QuerryOperator(ByVal QuerryCompositon As Entity_QueryCompositon) As DataTable
End Interface

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

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


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







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值