【第22期】观点:IT 行业加班,到底有没有价值?

机房收费系统中-枚举使用

原创 2013年12月05日 21:56:32

      在机房收费系统中,B层中做了好多的判断,每个判断都会返回一个结果作为信号给U层,如果用已有的Boolean值得话,就只有True 或 false 两种结果,然后我就用了返回字符串的方法,如下代码:

 Public Function Register(newCard As ManagerE.CardEntity, newStu As ManagerE.StudentEntity) As String

        Dim MyCIFD As New ManagerD.CardInfoDAL
        Dim MySIFD As New ManagerD.StuInfoDAL

        If IsCardExist(newCard.cardNo) = True Then '判断射频卡是否已经注册
            Register = "CardExsit"
        Else
            If IsStuExist(newStu.studentNo) Then '判断持卡学生是否已经注册
                MyCIFD.AddCardInfo(newCard)
                Register = "StuExist"
            Else
                MyCIFD.AddCardInfo(newCard) '讲符合条件的注册添加到数据库
                MySIFD.AddStuInfo(newStu)
                Register = "Succeed"
            End If
        End If
    End Function

  但是在判断得到返回结果时,必须准确写出字符串的每一个字符才可以,用起来操作性比较差。看到其他人的博客知道,好多人都是用的抛异常的方法反馈给U层信息的。这种思路,虽然能实现预定的效果,但是跟我的源代码相差甚远,如果用枚举类型的话,因为跟Boolean的效果差不多,应该符合我的思路,接下来去实践一下,代码还差点,马上呈现...

  首先在构建一个类盛放这种枚举类型

Public Class DataEntity
    Enum status

        CardExist
        StudentExist
        Succeed

    End Enum
End Class
      之后B 层的登录方法修改为

 Public Function Register(newCard As ManagerE.CardEntity, newStu As ManagerE.StudentEntity) As ManagerE.DataEntity.status

        Dim MyCIFD As New ManagerD.CardInfoDAL
        Dim MySIFD As New ManagerD.StuInfoDAL
        If IsCardExist(newCard.cardNo) = True Then '判断射频卡是否已经注册
            Register = ManagerE.DataEntity.status.CardExist
        Else
            If IsStuExist(newStu.studentNo) Then '判断持卡学生是否已经注册
                MyCIFD.AddCardInfo(newCard)
                Register = ManagerE.DataEntity.status.StudentExist
            Else
                MySIFD.AddStuInfo(newStu)
                MyCIFD.AddCardInfo(newCard) '讲符合条件的注册添加到数据库
                Register = ManagerE.DataEntity.status.Succeed
            End If
        End If
    End Function
      返回到U层的效果为

       Select Case MyRegisger.Register(newCard, newStu) '判断卡的注册状态
            Case ManagerE.DataEntity.status.CardExist
                MessageBox.Show("该卡已经被注册,不能再次注册!")
            Case ManagerE.DataEntity.status.StudentExist
                MessageBox.Show("该卡注册成功,但发现持卡人注册已注册过其他卡!")
            Case ManagerE.DataEntity.status.Succeed
                MessageBox.Show("该卡注册成功,可上机消费!")
        End Select
   这样就不怕敲代码时出错了,在输入返回值时从智能提醒的下拉菜单中直接选取就可以了!




版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

机房收费系统——报表的使用

机房中报表的使用是新的知识,自己根据师姐们的博客完成了,不过也走了不少的弯路,下面来自己总结一番,颗粒归仓。 准备工作     刚到这里呢不要慌,先有一个整体思路然后在开始动手。     报表安...
  • R_s_x
  • R_s_x
  • 2016-09-29 16:37
  • 414

机房收费系统——对象集合的使用

由于机房收费系统的窗体和控件比较多,有时需要对多个对象进行操作,这时用到对象集合就会省很多代码量。代码就是时间,时间就是生命啊。越精简,效率越好。 <p

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

机房收费系统之无效使用Null值

在敲机房收费系统的时候

机房收费系统——对象集合的使用

由于机房收费系统的窗体和控件比较多,有时需要对多个对象进行操作,这时用到对象集合就会省很多代码量。代码就是时间,时间就是生命啊。越精简,效率越好。 <p

机房收费系统——报表的使用

在机房收费系统的日结账和周结账部分我们用到了报表,我们先来了解一下什么是报表。 报表就是用表格、图表等格式来动态显示数据。可
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)