當前位置:學者齋 >

範文 >熱點 >

未將物件引用設定到物件的例項

未將物件引用設定到物件的例項

相信幾乎所有學過的朋友都遇到過這個問題:未將物件引用設定到物件的例項。本站小編整理了未將物件引用設定到物件的例項的原因和解決方法,希望大家有所收穫!

未將物件引用設定到物件的例項

  未將物件引用設定到物件的例項的原因

一、資料庫方面

1、ViewState 物件為Null。

2、DateSet 空。

3、sql語句或Datebase的原因導致DataReader空。

4、宣告字串變數時未賦空值就應用變數。

5、未用new初始化物件。

6、Session物件為空。

7、對控制元件賦文字值時,值不存在。

8、使用yString()時,所獲取的物件不存在,或在值為空時未賦初始值。

9、使用FindControl時,控制元件不存在卻沒有做預處理。

10、重複定義造成未將物件引用設定到物件的例項錯誤.

二、應用程式方面

(1)所設定的變數為空值或沒有取到值,一般出現在傳遞引數的時候出現這個問題,也會在使用DataGrid或gridview或datAList等資料控制元件時出現.

(2)控制元件名稱與codebehind裡面的沒有對應

(3)未用new初始化物件

(4)在程式中所引用的控制元件不存在

解決方法:

(1)使用lly捕捉錯誤,或直接用e()輸出所取的變數值

(2)檢視程式碼中是否存在未初始化的'變數

三、資料庫連線

未將物件引用設定到物件的例項

在使用VS2003開發 程式時候 有時候操作 SqlConnection物件的Open()方法時候會出現

未將物件引用設定到物件的例項。

說明: 執行當前 Web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以瞭解有關該錯誤以及程式碼中導致錯誤的出處的詳細資訊。

異常詳細資訊:ReferenceException: 未將物件引用設定到物件的例項。

源錯誤:

。。。。

();

......

跟蹤除錯也肯定可以確定 對conn進行new 操作 但是程式經常在這個地方報錯,但是有時候重啟伺服器或者重啟IIS有能正常使用了。 怎麼除錯也找不到問題 那麼這個時候可能是你本機上安裝的 FRAMEEWORK 框架有問題,可能沒有沒有安裝SP1.1補丁

需要打NETFRAMEEWORK1.1 SP1的補丁,到微軟官方網站下載安裝後就好了。

四、一般出現NullReferenceException異常的情況

1、物件所在的名稱空間沒有引用

2、物件沒有例項化

3、出現異常,例項化失敗物件為 null

五、IIS

當應用程式的使用者訪問量超過它能承受的範圍之後,就會出錯。

改善你的程式,使用快取,儘量減少與資料庫互動的次數。

六、檢視是否重置了DataSet引用

請大家好好查查自己的程式碼,是不是在其他地方重新引用了,在DataSet被設定成全域性物件也會出現這種錯誤提示。

七、最後

甚至,僅僅因為網站裡面DAL的dll檔案失效,業務層例項化不了IDAL裡面的物件也會出錯。

當你發現所有的方法不行時,打上ramework的補丁

  未將物件引用設定到物件的例項的解決方法

為每個可疑的地方新增監視,起初以為是sql語句寫錯了,查了幾遍,換用sql語句還是報同樣的錯誤。根據google出來的結果,提到物件重定義會引起這樣的結果。根據這一提示,替換掉頁面級全域性物件,總算搞定了。

class DBOper{

/*建構函式沒有函式體

*

*c#寫的 一系列對資料庫操作方法

*

*

}

最初為了省事,儘量少宣告物件,只在全域性聲明瞭一個private DBOper db=new DBOper(),在不同方法裡面呼叫該物件的方法,以避免為其定義而造成記憶體浪費。後來程式碼重構,在編譯的時候並未報錯。但是當執行的時候,就出現” NullReferenceException: 未將物件引用設定到物件的例項“。結果就因它而搞了幾個小時。後來根據google的結果,將不同方法中使用到的DBOper物件一一重定義為區域性變數(一個方法裡面只定義一個DBOper物件,多次呼叫其方法均正常),去掉全域性的private變數。再執行的時候就正常了。

至於為什麼將自定義的物件提成為class為private在不同的方法裡面使用後而出現這樣的問題,現在還不是很清楚.........................


猜你感興趣:

f函式的使用方法

2.漢字的演變過程表

↓↓↓ 下頁更多"C#未將物件引用設定到物件的例項解決辦法" ↓↓↓

標籤: 例項 引用 設定
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-tw/fw/redian/znxk5w.html