郁闷的两天,开心的一刻~~(by warrior)

  资助系统终于进入最后测试阶段,挺担心的,总觉得有很多地方需要修改。测试的第一个模块就是数据的EXCEL导入,这是最基础的一个模块,也是最重要的一个模块。看了半天小马哥写的代码,没怎么看明白,于是决定自己重写。

 趁着测试的还没找出原来程序的BUG来,我赶紧动手重写。花了半个小时找插件,找到了才发现小马哥用的当前最新版本的,汗!然后花了半天的时间初步完成了程序,满心欢喜的把小马哥的程序注释掉,换上我的程序,测试的同学立马报有BUG,于是马上开始了我的调试过程,郁闷的旅程也就随之而来……

 BUG有以下两点:

 一.我明明抛出了异常,事务也被触发了,也显示数据有回滚,为什么还是有数据保存进了数据库了呢?

 二.如果EXCEL表中有空的单元格或整行都是空的我该如何处理?

原因:

 一.因为mysql的InnoDB存储引擎才支持事务,其他的不支持,而我的数据表定义出错。

 二.如果出现空单元格就提示修改EXCEL表格,如果是整行空,则跳过,在导入成功的地方提示有多少行空数据

教训:

 一. 在写导入程序时发现数据库的数据完整性约束设计的很不好,数据的完整性几乎是由模型层的较验来完成的,所以事务的触发必须手动抛出异常。不过这样也有一个好处,可以很好的自定义错误信息,下次再设计数据库应提前注意数据完整性约束的设计

二.在长时间调试程序之后,发现整个人好像都木了,不知道停下来仔细看一下实际的代码和想像中的设计是否一致,而不是机械的调试,不然想破脑袋都没用,还会很浪费时间。

三.要让大脑灵活,先得填饱肚子,哈哈~~(感谢安仔同学的建议,貌似很有用)

 

  其实错误并不是很难发现,不知为什么,当时就在那疯狂的调试,一句一句调,没有停下来分析一下写过的程序,结果是越调越郁闷.昨晚从机房回来,不知怎么回事,突然间就发现了错误的所在,马上修改,终于抢在断网前把程序修改好上传了,那一刻真是激动啊!突然想起赵老师(当然不是我啦,哈哈~)说过的一句话,“你恨一个人吗?那就让他去编程,你爱一个人吗?你也让他去编程!”一种大喜大悲的感觉,耶!小得意了一把,哈哈~~

PS:今天早上第N次被冻醒,这天气,无语了~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值