【发布时间】:2015-03-28 06:38:08
【问题描述】:
所以在这个数据集中,我想检查男孩的数量和女孩的数量以及总数。数据集返回Table[1],其中有两行,女孩数量和男孩数量。row[0][1] 返回女孩数量,row[1][1] 返回男性数量
但每当Table1 返回单行,即男孩或女孩的计数时,IndexOutOfRangeException 就会在第一个if 本身抛出There is no row at position 1。
我检查空数据行的方法是否正确?
这里是代码sn-p
if (dsStudent != null && dsStudent.Tables.Count > 0 && dsStudent.Tables[0].Rows.Count > 0)
{
if (!(dsStudent.Tables[1].Rows[0]==null) && !(dsStudent.Tables[1].Rows[1]==null)) //both are present
{
lblbNumOfGirls.Text = dsStudent.Tables[1].Rows[0][1].ToString().Trim();
lblNumOfBoys.Text = dsStudent.Tables[1].Rows[1][1].ToString().Trim();
}
else if ((dsStudent.Tables[1].Rows[0][1].Equals(string.Empty))) //if girls are 0
{
lblbNumOfGirls.Text="0";
lblNumOfBoys.Text = dsStudent.Tables[1].Rows[1][1].ToString().Trim();
}
else //if boys are 0
{
lblNumOfBoys.Text="0";
lblbNumOfGirls.Text = dsStudent.Tables[1].Rows[0][1].ToString().Trim();
}
lblNumStudents.Text = (int.Parse(lblNumOfBoys.Text) + int.Parse(lblbNumOfGirls.Text)).ToString(); //total number of students
}
【问题讨论】:
标签: c# winforms exception dataset datarow