300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 阴沟里翻船 浪费一个小时时间

阴沟里翻船 浪费一个小时时间

时间:2020-10-24 21:19:28

相关推荐

阴沟里翻船 浪费一个小时时间

做了这么久的项目,在公司,不大不小的问题基本都能短期内解决或者提供方案,尤其给同事提供,也算是得心应手,可今天自己用一小时的时间买了个不爽。

也许在博友严重,这种低智商的错误不应该发生,但是却发生在我这个智商不是太天才的人身上了。

存储过程调试:

Code

1ALTERPROCEDURE[dbo].[P_ChkUserInfo]

2(

3@DeviceIDvarchar(64),

4@Rlttinyintoutput

5)

6AS

7Begin

8Declare@Cntasint

9Declare@Flagasint

10Select@Cnt=count(*)fromUserInfowhereDeviceID=@DeviceID;

11If(@Cnt>0)

12Begin

13Select@Flag=ValidfromUserInfowhereDeviceID=@DeviceID;

14If(@Flag=0)

15Begin

16Set@Rlt=0--已经注册的

17End

18Else

19Begin

20Set@Rlt=1--未注册

21End

22End

23Else

24Begin

25InsertintoUserInfo(DeviceID,Valid)values(@DeviceID,1);

26Set@Rlt=3--原来用户表没有的

27End

28End

如此简单,一个设备没有注册,怎么也注册不上,返回值是3;

显然是没有插入数据啊,可没有异常啊,不明白,半小时过去了, 问题依旧,出去溜达一圈吧,总不能这么郁闷着吧,不是吧,存储过程有异常不会抛出,除非你做了异常处理。

于是就在存储过程中做了异常处理,问题一下子显出来了,截断了,晕倒,哦,对照一下,设备的ID超过了长度32位,应该64才够用啊。

之前好好的程序,本地数据库和开发的不同步了。

良好的项目管理,良好的编程风格需要我们时刻铭记在心,如果存储过程做了异常处理,如果数据库和开发库同步,如果聪明点,意识到存储过程会吃掉异常,如果再聪明点...... 我还会犯这个低级的错误吗,下班了,不再忏悔了。

异常处理是设计的重要部分,不论何时何地,犹如事务一样,也不要把多线程随便抛到脑后。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。