我在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