读书人

System.NullReferenceException:未将对

发布时间: 2012-05-13 16:39:43 作者: rapoo

System.NullReferenceException:未将对象引用设置到对象的实例
//自定义ResultInfo()方法,实现提取指定信息,并将其显示在相应的文本框控件中,可是显示未将对象引用设置到对象的实例,排错了好长时间,无果,就高手指点
private void ResultInfo(int j)
{
try
{
DataSet dsNew = DtReslut(j);
this.txbClassName.Text = dsNew.Tables[0].Rows[0][0].ToString();//出错的地方
this.txbClassNumber.Text = dsNew.Tables[0].Rows[0][1].ToString();
this.txbGrade.Text = dsNew.Tables[0].Rows[0][2].ToString();
this.txbShortName.Text = dsNew.Tables[0].Rows[0][3].ToString();
this.txbTeacher.Text = dsNew.Tables[0].Rows[0][4].ToString();
this.txbNo.Text = dsNew.Tables[0].Rows[0][5].ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}

[解决办法]
DtReslut(j)执行返回的DataSet是null吧。你设断点看看dsNew里有没有内容。
[解决办法]
DataSet dsNew = DtReslut(j);
dsNew 取到值了吗?调试一下,

[解决办法]
DataSet dsNew = DtReslut(j);
跟踪调试下代码

这个dsNew为null值了,所以后面肯定报空异常了。
[解决办法]
dsNew是null或者dsNew里的Table的数量是0,或者Table里的行数是0或者列数是0,就这几种情况了
[解决办法]
加一个条件
if(dtNew!=null)
{
.......
}
[解决办法]

C# code
DataSet dsNew = DtReslut(j);if(dtNew!=null){  if(dtNew.Talbes[0].Rows.count>0)  {  this.txbClassName.Text = dsNew.Tables[0].Rows[0][0].ToString();//出错的地方  this.txbClassNumber.Text = dsNew.Tables[0].Rows[0][1].ToString();  this.txbGrade.Text = dsNew.Tables[0].Rows[0][2].ToString();  this.txbShortName.Text = dsNew.Tables[0].Rows[0][3].ToString();  this.txbTeacher.Text = dsNew.Tables[0].Rows[0][4].ToString();  this.txbNo.Text = dsNew.Tables[0].Rows[0][5].ToString();  }}
[解决办法]
探讨

引用:
C# code

DataSet dsNew = DtReslut(j);
if(dtNew!=null)
{
if(dtNew.Talbes[0].Rows.count>0)
{
this.txbClassName.Text = dsNew.Tables[0].Rows[0][0].ToString();//出错的地方
this.txbClassNu……

读书人网 >C#

热点推荐