数据表 foreach - 访问表数据,但只返回一个结果



>我有一个数据表(来自本地数据库),我正在尝试将答案表中的"QuestionID"与当前问题的ID进行比较,以便它在RadioButtonList(ASP.Net)中显示与该问题相关的四个答案。

它的工作在某种程度上,因为它获得了匹配的第一个结果并将单选按钮列表放入其中,但它没有得到其他三个匹配的结果。为什么?扯着我的头发盯着这段代码。

DataView dvQuestion = (DataView) sqldataQuestions.Select(new DataSourceSelectArguments());
lblQuestion.Text = string.Format(dvQuestion[questionCount]["QuestionText"].ToString());
DataView dvAnswers = (DataView) sqldataAnswers.Select(new DataSourceSelectArguments());
DataTable tblAnswers = dvAnswers.ToTable();
string value;
foreach (DataRow dr in tblAnswers.Rows)
{
      int questionID = Convert.ToInt32(dr["QuestionID"]);
      if (questionID == PgeNum)
      {
          string ansTxt = dr["AnswerText"].ToString();
          rblAnswers.Items.Add(ansTxt);
      }
}

试试这个。这将过滤 QuestionId 等于 pgeNum 的行。然后,您可以循环行以获得所需的结果。

DataRow[] rows =  tblAnswers.Select("QuestionID = " + PgeNum);
 if (rows.Length != 0)
    {
      foreach (DataRow dr in rows)
      {      
        string ansTxt = dr["AnswerText"].ToString();
        rblAnswers.Items.Add(ansTxt);
       }
     }

最新更新