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

2022-02-04 04:51:44 字數 5484 閱讀 1737

1樓:匿名使用者

未將物件引用設定到物件的例項,說明其中有一個物件是null了

就你上面的那行**分析

問題應該在

ds.tables["userinfo"].rows[datagridview1.currentcell.rowindex][0].tostring ()

可能的錯誤是

ds為null ,那麼 ds.tables["userinfo"]的時候就會出現這個錯誤,相當於null.tables["userinfo"]

ds不為null,但是沒有名為"userinfo"的table, 所以 ds.tables["userinfo"] 為 null

存在名為"userinfo"的table,但是這個table裡面不存在 datagridview1.currentcell.rowindex這一行,導致這一個datarow 為null

datarow不為null, datarow的結構不包含一列,導致 datarow[0]為null

具體要除錯的過程自己看

2樓:憋不住事兒

你沒有找準問題的所在,這段**看不出問題。這種情況一是物件為null或是沒有宣告物件

未將物件引用設定到物件的例項都可能由哪些原因引起的?

3樓:匿名使用者

首先,你要知道--在.net裡面 所有操作的變數都是物件。

一般的標示符,如int,string,char等等,最後都會轉換為system名稱空間下面的類名(如int32,string,char等等),當然類例項化的就更不用說了。

物件就必然存在若干的屬性和方法。

你要操作一個物件,也必然是操作它的屬性或者方法。

「未將物件引用設定到物件的例項」,也就是說你要呼叫物件例項裡面不存你要操作的屬性或者方法,而在確定你的物件裡面有你要操作的屬性或者方法,但是仍然報錯,就多半是你操作的物件變成null了。因為null實際上也是一個物件(nullable型別),所以它不會提示你「你操作的物件為空」這類的資訊,而是物件例項中不存在你要操作的屬性或者方法,也就是「未將物件引用設定到物件的例項」。

c#中未將物件引用設定到物件的例項是什麼意思?

4樓:大野瘦子

意思是你使用這個物件之前,沒有將之例項化。

比如:label l = new label();

這個是已經例項化了,可以對其成員進行操作。

注意:例項化是呼叫構造方法要加括號。

如果你是label l;

那下面如果你呼叫l.text之類的屬性,那就會出現你那個錯誤。

程式執行多次,會出現異常:未將物件引用設定到物件的例項問題**:

listlist = null;

tryint xx = list.count;

list=getlist();//給list賦值方法for (int i = 0; i < list.count; i++)

if (list[i].contains("11"))messagebox.show("success");

catch(exception ex)

marshal.getlastwin32error(), ex.message, ex.stacktrace));

5樓:哈

首先出錯了,一定要學會debug,debug,debug.

一、網路上的一般說法

1、viewstate 物件為null。

2、dateset 空。

3、sql語句或datebase的原因導致datareader空。

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

5、未用new初始化物件。

6、session物件為空。

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

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

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

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

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

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

(3)未用new初始化物件

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

解決方法:

(1)使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變數值

(2)檢視**中是否存在未初始化的變數

三、sqlconnection.open   未將物件引用設定到物件的例項

在使用vs2003開發 asp.net程式時候 有時候操作 sqlconnection物件的open()方法時候會出現

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

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

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

參考資料

拓展資料:

c#是一種安全的、穩定的、簡單的、優雅的,由c和c++衍生出來的物件導向的程式語言。它在繼承c和c++強大功能的同時去掉了一些它們的複雜特性(例如沒有巨集以及不允許多重繼承)。c#綜合了vb簡單的視覺化操作和c++的高執行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向元件程式設計的支援成為.

net開發的首選語言。

6樓:匿名使用者

textbox t;

此時,你僅在堆疊中宣告瞭一個變數t,因為你沒有(new textbox())例項化它!

所以,當你呼叫t.text時,會丟擲異常。

在你例項化(t=new textbox())後,系統將在記憶體中給你分配一塊地方,用來存真正的textbox物件。這時就可以呼叫t.text了!

例項化後,變數t只是指向記憶體中textbox物件的地址。

據個例子:

比如你想用張三家的洗衣機,可你卻不知道他家住在哪。

你必須先知道他家的地址,然後再去他家,呼叫他家的洗衣機!

而例項化就相當於你找到他家的過程!

7樓:孝爾絲矯琪

dictionary這個泛型是一個型別

而你當作變數使用肯定會報錯嗎

所以報個為將物件例項化咯

8樓:典素潔巨集斯

看報錯就知道了,物件沒有例項化,

你不能使用一個沒有例項化的物件。

9樓:蘇靜秀糜吉

根據你的描述

我建了個同樣的程式

為了找出跟你相同錯誤的

我測試了很多可能出錯的情況

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

這個錯誤

出現在1、沒有開啟子窗體

2、子窗體沒有

f.mdiparent

=this;

3、子窗體中沒有

任何控制元件或

active的控制元件

//(richtextbox這種型別的文字框)樓上又見abc所說的

也會出錯但是不是這種錯誤

10樓:

你用了不存在的東西就會這樣,

例如string strs=new string

這時你去引用strs[4]就會出這個錯,因為這個東西沒有

11樓:

沒有例項化 用new

比如定義了一個類 data

例項華就是 data data1 =new data;

12樓:裔採文望碧

xinyuangong_load事件裡可能出現問題的點:

1)classsql.ds這個物件有可能為null引起異常

2)classsql.ds.tables["view_1"],tables["表名"],表名不對啊,這個表名根本就不是指資料庫表的表名,你想一下,如果這個地方是聯合多表查詢,你這個表名怎麼寫啊,你這麼寫的結果就是classsql.

ds.tables["view_1"]為null

button1_click事件裡可能出現問題的點:

1)還是classsql.ds.tables["view_1"]是否有可能為null的情況,如果為null,classsql.

ds.tables["view_1"].rows肯定會出異常

2)classsql.ds.tables["view_1"].rows的count是否大於x(而且你的x也未初始化),如果查詢結果為0行,即使x=0也會出現異常

3)賦值的那一串**classsql.ds.tables["view_1"].rows["列名"],請確認這些列名在查詢結果是否均存在,且是否一致(有可能一個字元寫錯就會有異常)

未將物件引用設定到物件的例項,怎麼解決啊??

13樓:記明練

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

2、設定控制元件名稱與codebehind裡面的沒有對應。

3、設定未用new初始化物件或者在程式中所引用的控制元件不存在。

4、然後使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變數值。

5、檢視**中是否存在未初始化的變數,即可解決未將物件引用設定到物件的例項」的問題。

注意事項:

如果是沒有源程式而只是訪問了某個**,那麼我只能告訴,這個錯誤提示是程式錯誤,編譯過程只能監測語法,而不能監測語意,所以不能解決,可以告訴所訪問的**,解決出現的此類問題。

一般的標示符,如int,string,char等等,最後都會轉換為system名稱空間下面的類名(如int32,string,char等等),當然類例項化的就更不用說了。

14樓:蟻心已古

回答關於「未將物件引用設定到物件的例項」這個錯誤的解決步驟如下:

1、首先,所設定的變數為空值或沒有取到值,一般出現在傳遞引數的時候出現這個問題,也會在使用datagrid或gridview或datalist等資料控制元件時出現。

2、設定控制元件名稱與codebehind裡面的沒有對應。

3、設定未用new初始化物件或者在程式中所引用的控制元件不存在。

4、然後使用try..catch...finally捕捉錯誤,或直接用response.write()輸出所取的變數值。

5、檢視**中是否存在未初始化的變數,即可解決未將物件引用設定到物件的例項」的問題。

更多4條

15樓:匡梧太叔幼菱

一般出現「未將物件引用設定到物件的例項」就是要麼物件沒有例項化就用了,要麼就是有空的

未將物件引用設定到物件的例項怎麼解決

win8下執行軟體老是報錯,說未將物件引用設定到物件的例項的解決方法如下 方案一 根據以下步驟確認security center服務的設定 1 開始 執行 中輸入services.msc並回車,找到security center,雙擊,啟動型別選擇 自動 服務狀態選擇 啟動 2 如果此時啟動失敗,繼...

c函式引數為物件和為物件的引用型別時,作用一樣嗎

不一樣,一個是複製傳遞,一個是引用傳遞。複製傳遞時將物件複製一遍,在函式中的物件和原物件值相同,但是地址不同,函式中若修改物件的值,原物件不會受到影響,當函式執行完時,複製的物件會被銷燬。而引用傳遞不會複製,只是將原物件的地址傳過去,類似指標。此時函式中的物件和原物件是一個東西,相同的地址,可能名字...

處物件發展到捏胸,算到什麼程度,處物件發展到親嘴捏胸,算戀愛到什麼程度

關係到捏胸就已經成熟了 感覺不能夠說明愛的程度,只能算衝動,愛是心的呼喚你說呢?只差插入一步就可以結婚領證了。看來你是男生,女生是很清楚到什麼程度了。你只要照平常一樣的進行就ok,就是說你們已經是情侶了,該幹嘛幹嘛。女孩子已經從內心接受你了,水到渠成的話,應該馬上就可以確定正式的關係了。這時候求婚,...