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,就是說你們已經是情侶了,該幹嘛幹嘛。女孩子已經從內心接受你了,水到渠成的話,應該馬上就可以確定正式的關係了。這時候求婚,...