System.Data.SqlClient.SqlException: 將截斷字串或位元據

來源:互聯網
上載者:User

      問題:

      “ System.Data.SqlClient.SqlException ”類型的未處理的例外狀況在System.Data.dll中發生。其他資訊:將截斷字串或位元據

       這是在做機房收費系統基本資料設定這一模組時遇到的問題。


       本來在代碼的UI層用Try……Catch捕獲到了異常,如:


        


        但沒遇到過這個問題的人,光看這個肯定也解決不了問題,於是我把Try……Catch注釋掉,找到了拋異常的詳細資料:


      解決:

       一看是 “ System.Data.SqlClient.SqlException ”,想都不用想,肯定是資料庫方面的問題,經過調試,發現向資料庫中插入的欄位值basicDataBLL.SetDate的值為“2014/6/17 星期二”:

        

       但是我在資料庫中給這個欄位設定的資料類型為varchar(10),這不是遠遠小於“2014/6/17 星期二”所佔的空間嘛!於是果斷增加了資料類型的容量,把varchar(10)編程varchar(20),問題得到解決。

       

       總結:

      又進行了一番測試,在資料庫中把其他一些字串、text等類型的欄位的可儲存容量減小,也出現了這個問題,得到了一個結論:

      此問題的產生原因是資料庫中的某欄位的資料類型不足以儲存將要向該欄位中插入的值的資料長度,問題出現時,將相應欄位的資料類型的長度適當增加即可。


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.