【发布时间】:2013-10-28 16:19:22
【问题描述】:
在下面的代码中,当我按下 button2 时,它会说:
对象引用未设置为对象的实例
发生了什么事?
public partial class rec : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
try
{
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|DB.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd;
con.Open();
cmd = new SqlCommand("SELECT SrviceType, Msg FROM OrderNum ", con);
SqlDataReader dr;
dr = cmd.ExecuteReader();
dr.Read();
Label1.Text = dr[0].ToString();
TextBox1.Text = dr[1].ToString();
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
protected void Button2_Click(object sender, EventArgs e)
{
SqlDataReader dr = null;
try
{
dr.Read();
Label1.Text = dr[0].ToString();
TextBox1.Text = dr[1].ToString();
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
}
【问题讨论】:
-
您声明
SqlDataReader dr = null;,然后在下一行对null 调用Read()方法,您还期待什么? -
如果我把 SqlDataReader dr;它会给我这个错误 :: Use of unassigned local variable 'dr'
-
您需要阅读变量范围。它给你这个错误是因为“dr”没有被赋予任何价值。
-
谢谢你能告诉我在我的情况下解决方案是什么
-
NullReferenceException的几乎所有情况都是相同的。请参阅“What is a NullReferenceException in .NET?”获取一些提示。
标签: c# asp.net nullreferenceexception