
но всякий раз, когда Table1 возвращает одну строку. т.е. количество мальчиков или девочек, выдается исключение IndexOutOfRangeException. В позиции 1 нет строки в самом первом if.
Правильен ли мой способ проверки пустой строки данных?
А вот фрагмент кода
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
}
Подробнее здесь: https://stackoverflow.com/questions/282 ... pty-or-not