鬱悶的兩天,開心的一刻~~(by warrior)

  資助系統終於進入最後測試階段,挺擔心的,總覺得有很多地方需要修改。測試的第一個模塊就是數據的EXCEL導入,這是最基礎的一個模塊,也是最重要的一個模塊。看了半天小馬哥寫的代碼,沒怎麼看明白,於是決定自己重寫。

 趁着測試的還沒找出原來程序的BUG來,我趕緊動手重寫。花了半個小時找插件,找到了才發現小馬哥用的當前最新版本的,汗!然後花了半天的時間初步完成了程序,滿心歡喜的把小馬哥的程序註釋掉,換上我的程序,測試的同學立馬報有BUG,於是馬上開始了我的調試過程,鬱悶的旅程也就隨之而來……

 BUG有以下兩點:

 一.我明明拋出了異常,事務也被觸發了,也顯示數據有回滾,爲什麼還是有數據保存進了數據庫了呢?

 二.如果EXCEL表中有空的單元格或整行都是空的我該如何處理?

原因:

 一.因爲mysql的InnoDB存儲引擎才支持事務,其他的不支持,而我的數據表定義出錯。

 二.如果出現空單元格就提示修改EXCEL表格,如果是整行空,則跳過,在導入成功的地方提示有多少行空數據

教訓:

 一. 在寫導入程序時發現數據庫的數據完整性約束設計的很不好,數據的完整性幾乎是由模型層的較驗來完成的,所以事務的觸發必須手動拋出異常。不過這樣也有一個好處,可以很好的自定義錯誤信息,下次再設計數據庫應提前注意數據完整性約束的設計

二.在長時間調試程序之後,發現整個人好像都木了,不知道停下來仔細看一下實際的代碼和想像中的設計是否一致,而不是機械的調試,不然想破腦袋都沒用,還會很浪費時間。

三.要讓大腦靈活,先得填飽肚子,哈哈~~(感謝安仔同學的建議,貌似很有用)

 

  其實錯誤並不是很難發現,不知爲什麼,當時就在那瘋狂的調試,一句一句調,沒有停下來分析一下寫過的程序,結果是越調越鬱悶.昨晚從機房回來,不知怎麼回事,突然間就發現了錯誤的所在,馬上修改,終於搶在斷網前把程序修改好上傳了,那一刻真是激動啊!突然想起趙老師(當然不是我啦,哈哈~)說過的一句話,“你恨一個人嗎?那就讓他去編程,你愛一個人嗎?你也讓他去編程!”一種大喜大悲的感覺,耶!小得意了一把,哈哈~~

PS:今天早上第N次被凍醒,這天氣,無語了~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章