1. 程式人生 > >C#機房重構之錯誤集錦(三)

C#機房重構之錯誤集錦(三)

錯誤越多,收穫越大,感覺這次收穫滿滿啊!

內容

1.必須宣告標量變數

這裡寫圖片描述
一種可能就是你的U層沒有給變數賦值,這次我遇到的就是這種錯誤。

2.為將物件引用設定到物件的例項

這裡寫圖片描述
解決辦法:這個錯誤無論是菜鳥、大鳥、老鳥,都有可能遇到,菜鳥的此錯誤一般都是因為傳值沒有穿進去。在錯誤處設定斷點,向前逐個排除變數,看看哪個變數為空值,傳值之後就解決了。

3.需要提供引數,但未提供該引數。

這裡寫圖片描述
解決辦法:一般情況都是D層傳參的函式中沒有傳參的引數,且U層沒有賦值,如下,給U層賦值之後,去D層傳參,就解決了。
這裡寫圖片描述

4.字串轉換整數失敗

這裡寫圖片描述
解決辦法:SQL語句要記牢
這裡寫圖片描述

5.刪除資料庫冗餘資料-已更新或刪除的行值要麼不能使該行成為唯一行,要麼改變了多個行。

這裡寫圖片描述
解決辦法:
敲程式碼的時候經常會在資料庫中增加很多冗餘資料,有時候直接右鍵刪除此列,會失敗,因為你更新或刪除的行值使這一行資料成為了唯一值,所以我提供了一種直接刪除整個表的SQL語句,大家可以收藏一下。

  TRUNCATE TABLE 表名 //刪除表中所有資料

6.列名無效

這裡寫圖片描述
原因:資料庫中沒有該列名
辦法:新增該列名,或者去D層刪除對該列名的修改更新資訊。

7.方法的型別簽名與Interop不相容

這裡寫圖片描述
原因:在匯出Excel時報的這個錯,因為這個程式碼所用的Excel版本不相容,需要更換整個到處Excel的程式碼。

小結

收穫滿滿,及時總結。