浅谈《机房收费系统》重构中的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

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

相关文章
|
设计模式 存储 Java
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(下)
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(下)
207 0
|
设计模式 存储 SQL
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(上)
【Java设计模式 规范与重构】 五 重构实战:基于ID生成器case(上)
148 0
|
存储 C++
【C++要笑着学】深浅拷贝 | string 模拟实现 | 传统写法与现代写法(二)
本章将正式介绍深浅拷贝,在模拟实现 string 的同时带着去理解深浅拷贝。我们模拟实现 string类不是为了造更好的轮子,而是为了去学习它,理解它的本质!你自己造一次,心里会更清楚,也有利于加深对 string 的理解。
179 0
【C++要笑着学】深浅拷贝 | string 模拟实现 | 传统写法与现代写法(二)
|
测试技术 C语言 C++
【C++要笑着学】深浅拷贝 | string 模拟实现 | 传统写法与现代写法(一)
本章将正式介绍深浅拷贝,在模拟实现 string 的同时带着去理解深浅拷贝。我们模拟实现 string类不是为了造更好的轮子,而是为了去学习它,理解它的本质!你自己造一次,心里会更清楚,也有利于加深对 string 的理解。
81 0
【C++要笑着学】深浅拷贝 | string 模拟实现 | 传统写法与现代写法(一)
|
存储 算法 Java
instanceof关键字;double出现误差;数组数据结构分析;Java继承经典案列-经理与员工
instanceof关键字 double出现误差 1、instanceof关键字 是Java的一个保留字,用来测试一个对象是否为一个类的实例。 它是一个运算符,和==,>,<是同类。
161 0
instanceof关键字;double出现误差;数组数据结构分析;Java继承经典案列-经理与员工
【C++要笑着学】深浅拷贝 | string 模拟实现 | 传统写法与现代写法(三)
本章将正式介绍深浅拷贝,在模拟实现 string 的同时带着去理解深浅拷贝。我们模拟实现 string类不是为了造更好的轮子,而是为了去学习它,理解它的本质!你自己造一次,心里会更清楚,也有利于加深对 string 的理解。
86 0
|
前端开发
#yyds干货盘点# 【React工作记录四十】对象的属性和值转换
#yyds干货盘点# 【React工作记录四十】对象的属性和值转换
139 0
#yyds干货盘点# 【React工作记录四十】对象的属性和值转换
|
关系型数据库 MySQL Java
记一次愚蠢的操作--String不可变性
记录一次在写代码时愚蠢的操作,本文涉及到的知识点:String不可变性
115 0
记一次愚蠢的操作--String不可变性
String 属于基础的数据类型吗?面试篇(第六天)
String 属于基础的数据类型吗?本文带大家回答这个问题。
252 0
比较无处不在-灵活覆写equals方法 | 带你学《Java面向对象编程》之五十一
本节通过对比简单比较的实现代码与覆写Object类的比较方法实现比较逻辑,体现了Java精益求精的理念。

热门文章

最新文章