浅谈《机房收费系统》重构中的Boolean和Datatable

简介: 浅谈《机房收费系统》重构中的Boolean和Datatable

 重构过机房收费系统的同学相信都知道在SQLHelper中的两类函数:专为添加定义的函数和为增删改定义的函数。说实话,作为菜鸟的我,不仅仅对这个问题很疑惑,对定义函数时到底是使用boolean还是使用datatable也是懵懵哒。一直想问问别人,但是发现,在没有实例的情况下,很难讲懂,所以,就这样被自己的懒惰拖拉下来了。直到遇见了它——“找不到表0”,它把我逼上了墙角,让我不得不去自己想这之间的关系。终于,在雷哥和建敏的帮助下,我成功的解决了我的错误。


  在SQLHelper中为什么要把增删改和查分开呢?

  如果仅仅是查询用户是否存在,查询旧密码是否正确,都可以用Boolean。但是,如果要返回用户的信息,比如学生上机记录,工作人员的上机记录,这时候就需要返回一张表,可以把表中具体的信息反馈到U层,而不仅仅是True or false .

  所以,我开始改自己的代码。在修改密码和添加用户的时候,SQLHelper中都用到

Public Function ExecSelect(ByRef cmdText As String, ByVal cmdType As CommandType, ByVal sqlParams As SqlParameter()) As DataTable
Public Function ExecAddDelUpdate(ByVal cmdText As String, ByVal cmdType As CommandType, ByVal sqlParams As SqlParameter()) As Boolean

我要走两个来回,第一个来回是,判断以前的密码对不对,用户是否存在,这时候用第一个。而修改密码是否成功或者添加用户是否成功这些内容,我只需要知道,成功还是失败,所以,用第二个就可以了。其实,现在想想,修改密码和添加用户的第一个来回用第一个也是可以的,反正也不用表中具体的信息。

  不知道讲到这里,读者明白了没,希望我没有把你讲晕,嘻嘻。

20160331214347172.jpg

 欠下的总是要还的,学习不能懒啊!

相关文章
|
6月前
|
敏捷开发
【sgCreateTableData】自定义小工具:敏捷开发→自动化生成表格数据数组[基于el-table]
【sgCreateTableData】自定义小工具:敏捷开发→自动化生成表格数据数组[基于el-table]
|
JavaScript 前端开发
datatable 自定义筛选按钮的解决方案
datatable 自定义筛选按钮的解决方案
173 0
|
设计模式 存储 Java
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(下)
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(下)
201 0
|
设计模式 存储 SQL
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(上)
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(上)
141 0
|
存储 NoSQL Unix
基于C#的ArcEngine二次开发50:MDB创建新要素类及“无当前记录”异常处理
基于C#的ArcEngine二次开发50:MDB创建新要素类及“无当前记录”异常处理
基于C#的ArcEngine二次开发50:MDB创建新要素类及“无当前记录”异常处理
|
设计模式 编译器 数据库
【机房重构】——DataTable和泛型集合
【机房重构】——DataTable和泛型集合
291 0
【机房重构】——DataTable和泛型集合
C#编程-81:DataGridView常用操作综合实例
C#编程-81:DataGridView常用操作综合实例
123 0
C#编程-81:DataGridView常用操作综合实例
关于String转换list的一些心得(逻辑判断,小白慎入)
关于String转换list的一些心得(逻辑判断,小白慎入)
381 0