我编写了一个vb.net
与mysql
的小程序。它工作正常。但在使用“结束”命令关闭我的应用程序时。我收到了这个错误。
“System.NullReferenceException未处理
HResult = -2147467261enter code here
消息=对象引用不是 设置为对象的实例。 Source = MySql.Data StackTrace: at MySql.Data.MySqlClient.NativeDriver.FetchDataRow(Int32 statementId,Int32 columns) at MySql.Data.MySqlClient.Driver.FetchDataRow(Int32 statementId,Int32 columns) at MySql.Data.MySqlClient.Driver.SkipDataRow() at MySql.Data.MySqlClient.ResultSet.Close() at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlDataReader.Close() at MySql.Data.MySqlClient.MySqlConnection.Close() at MySql.Data.MySqlClient.MySqlConnection.Dispose(布尔处理) 在System.ComponentModel.Component.Finalize()InnerException:“
仅在关闭我的应用程序时出现。请帮我。谢谢。
答案 0 :(得分:0)
如果你把一些代码放在这里,回答就不那么难了。 在关闭程序之前,您可能没有关闭MySql Reader或Connection。
答案 1 :(得分:0)
您正在尝试使用null(或VB.NET中的Nothing)。这意味着您要么将其设置为null,要么根本不将其设置为任何内容。
这意味着什么
抛出NullReferenceException的运行时总是意味着同样的事情:您正在尝试使用引用。引用未初始化(或者已初始化,但不再初始化)。
这意味着引用为null,并且您无法通过空引用访问成员。最简单的情况:
string name = null;
name.ToUpper();
或
string name = null;
name.ToLower();
这些将在第二行抛出NullReferenceException,因为你不能在指向null的字符串引用上调用实例方法ToUpper()或ToLower()。