我在VB.net「對象引用未設置爲對象實例」中出現錯誤。你能告訴我這個錯誤的原因是什麼?謝謝..未將對象引用設置爲對象的實例
回答
海基會, 如果問題與數據庫返回的結果,我相信這是在這種情況下:
dsData = getSQLData(conn,sql, blah,blah....)
dt = dsData.Tables(0) 'Perhaps the obj ref not set is occurring here
爲了解決這個問題:
dsData = getSQLData(conn,sql, blah,blah....)
If dsData.Tables.Count = 0 Then Exit Sub
dt = dsData.Tables(0) 'Perhaps the obj ref not set is occurring here
編輯:添加的代碼格式標記...
該對象在使用前未被初始化。
在你的代碼文件類型的頂部:
Option Strict On
Option Explicit On
一般來說,在.NET運行時,這樣的事情會發生,每當一個變量,它是未分配或分配值Nothing
(在VB.Net,null
在C#中)被解除引用。
Option Strict On
和Option Explicit On
將幫助檢測可能發生此類情況,但有可能得到另一個函數調用空/沒有:
Dim someString As String = someFunctionReturningString();
If (someString Is Nothing) Then
Sysm.Console.WriteLine(someString.Length); // will throw the NullReferenceException
End If
和NullReferenceException是「對象引用源未設定到一個對象的實例「。
您可以在應用程序中放置日誌記錄機制,以便找出錯誤的原因。一個Exception對象具有StackTrace屬性,該屬性是描述調用堆棧內容的字符串,最近的方法調用首先出現。通過查看它,你會得到更多關於可能導致異常的細節。
如果您認爲在數據庫查詢中沒有返回數據時發生這種情況,那麼也許您應該測試在對它進行操作之前的結果?
Dim result As String = SqlCommand.ExecuteScalar() 'just for scope'
If result Is Nothing OrElse IsDBNull(result) Then
'no result!'
End If
使用數據庫時,當您嘗試從不存在的字段或行中獲取值時,可能會出現此錯誤。也就是說,如果你使用的數據集,並使用:
Dim objDt as DataTable = objDs.Tables("tablename")
你的對象「引用未設置爲對象的實例」,如果表名不Dataset中存在。數據集中的行或字段相同。
讓我們解構錯誤信息。
「對象引用」是指您在引用對象的代碼中使用的變量。對象變量可能已經由你聲明,或者你可能正在使用另一個對象中聲明的變量。
「對象的實例」表示該對象是空白的(或在VB中說,「Nothing」)。在處理對象變量時,必須在引用該對象之前創建該對象的實例。
「未設置爲」意味着您嘗試訪問某個對象,但計算機無法訪問該對象。
如果你創建了
Dim aPerson as PersonClass
所有你必須做的是告訴aPerson將代表一個人的編譯器的變量,而不是什麼人。
您可以使用「新建」關鍵字創建對象的空白副本。例如
Dim aPerson as New PersonClass
如果你希望能夠進行測試,看看如果對象是「無中生有」的
If aPerson Is Nothing Then
aPerson = New PersonClass
End If
希望幫助!
- 1. RelayCommand實現:未將對象引用設置爲對象實例
- 2. IIS7-未將對象引用設置爲對象的實例
- 3. 未將對象引用設置爲對象的實例? VB.NET
- 4. 未將對象引用設置爲對象的實例#100
- 5. 未將對象引用設置爲對象的實例console.readline.tolower
- 6. Azure - 未將對象引用設置爲對象的實例
- 7. 未將對象引用設置爲對象的實例。 C#.NET
- 8. 未將對象引用設置爲對象的實例VB
- 9. 未將對象引用設置爲對象的實例。 asp.net
- 10. 未將對象引用設置爲對象的實例錯誤
- 11. 未將對象引用設置爲對象的實例
- 12. 未將對象引用設置爲對象的實例
- 13. 未將對象引用設置爲對象的實例
- 14. [VB.NET]未將對象引用設置爲對象的實例
- 15. ASP:未將對象引用設置爲對象的實例
- 16. 未將對象引用設置爲對象的實例
- 17. 未將對象引用設置爲對象的實例
- 18. Excel VBA-未將對象引用設置爲對象的實例
- 19. 未將對象引用設置爲對象的實例。
- 20. 錯誤「未將對象引用設置爲對象的實例」
- 21. C#MVC4未將對象引用設置爲對象的實例
- 22. 未將對象引用設置爲對象的實例?
- 23. 未將對象引用設置爲對象的實例
- 24. 未將對象引用設置爲對象的實例。 - DefaultValue
- 25. Me.ChangeSet.GetOriginal,未將對象引用設置爲對象的實例
- 26. 未將對象引用設置爲對象的實例。錯誤
- 27. 未將對象引用設置爲對象asp.net的實例c#
- 28. 未將對象引用設置爲對象的實例。 -Resources.resx
- 29. Linq「未將對象引用設置爲對象的實例。」
- 30. Visual Basic - 未將對象引用設置爲對象的實例
這將是一件好事,如果你可以發佈你的代碼文件,產生這個錯誤 – cruizer 2008-09-25 01:55:44
張貼代碼,所以我們不在黑暗中拍攝;或至少描述發生了什麼! – 2008-09-25 03:10:10
可能重複[什麼是NullReferenceException,我該如何解決它?](http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-doi-i-fix-it) – stakx 2015-07-23 08:00:18