摘自:http://blog.csdn.net/sollion/article/details/5777475sql
1、網絡上的通常說法數據庫
一、ViewState 對象爲Null。
二、DateSet 空。
三、sql語句或Datebase的緣由致使DataReader空。
四、聲明字符串變量時未賦空值就應用變量。
五、未用new初始化對象。
六、Session對象爲空。
七、對控件賦文本值時,值不存在。
八、使用Request.QueryString()時,所獲取的對象不存在,或在值爲空時未賦初始值。
九、使用FindControl時,控件不存在卻沒有作預處理。
十、重複定義形成未將對象引用設置到對象的實例錯誤.c#
2、 (1)所設置的變量爲空值或沒有取到值,通常出如今傳遞參數的時候出現這個問題,也會在使用DataGrid或gridview或datalist等數據控件時出現.緩存
(2)控件名稱與codebehind裏面的沒有對應服務器
(3)未用new初始化對象網絡
(4)在程序中所引用的控件不存在框架
解決方法:函數
(1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變量值網站
(2)查看代碼中是否存在未初始化的變量google
3、SqlConnection.Open 未將對象引用設置到對象的實例
在使用VS2003開發 ASP.NET程序時候 有時候操做 SqlConnection對象的Open()方法時候會出現
未將對象引用設置到對象的實例。
說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆棧跟蹤信息,以瞭解有關該錯誤以及代碼中致使錯誤的出處的詳細信息。
異常詳細信息: System.NullReferenceException: 未將對象引用設置到對象的實例。
源錯誤:
。。。。
conn.Open();
......
跟蹤調試也確定能夠肯定 對conn進行new 操做 可是程序常常在這個地方報錯,可是有時候重啓服務器或者重啓IIS有能正常使用了。 怎麼調試也找不到問題 那麼這個時候多是 你本機上安裝的.NET FRAMEEWORK 框架有問題,可能沒有沒有安裝SP1.1補丁
須要打NET FRAMEEWORK1.1 SP1的補丁,到微軟官方網站下載安裝後就行了。
4、通常出現NullReferenceException異常的我我的總結有如下狀況:
一、對象所在的命名空間沒有引用
二、對象沒有實例化
三、出現異常,實例化失敗對象爲 null
5、IIS 扛不住的時候,也會出現上面的錯誤。
當應用程序的用戶訪問量超過它能承受的範圍以後,就會出錯。
改善你的程序,使用緩存,儘可能減小與數據庫交互的次數。
6、我碰到的問題是,無心重置了DataSet引用,後出現這個問題,請你們好好查查本身的代碼,是否是在其餘地方從新引用了,在個人程序中DataSet被設置成全局對象。
7、當你發現全部的方法不行時,打上.netframework的補丁
八、我出現這個錯誤,僅僅由於網站裏面DAL的dll文件失效,業務層實例化不了IDAL裏面的對象
但也浪費了一下午的時間在調代碼上
9、爲每一個可疑的地方添加監視,起初覺得是sql語句寫錯了,查了幾遍,換用sql語句仍是報一樣的錯誤。根據google出來的結果,提到對象重定義會引發這樣的結果。根據這一提示,替換掉頁面級全局對象,總算搞定了。
class DBOper{ /*構造函數沒有函數體 * *c#寫的 一系列對數據庫操做方法 * * } 最初爲了省事,儘可能少聲明對象,只在全局聲明瞭一個private DBOper db=new DBOper(),在不一樣方法裏面調用該對象的方法,以免爲其定義而形成內存浪費。後來代碼重構,在編譯的時候並未報錯。可是當運行的時候,就出現」 NullReferenceException: 未將對象引用設置到對象的實例「。結果就因它而搞了幾個小時。後來根據google的結果,將不一樣方法中使用到的DBOper對象一一重定義爲局部變量(一個方法裏面只定義一個DBOper對象,屢次調用其方法均正常),去掉全局的private變量。再運行的時候就正常了。 至於爲何將自定義的對象提成爲class爲private在不一樣的方法裏面使用後而出現這樣的問題,如今還不是很清楚.........................