【问题标题】:C#, Looping through dataset and show each record from a dataset columnC#,遍历数据集并显示数据集列中的每条记录
【发布时间】:2013-02-21 12:45:45
【问题描述】:

在 C# 中,我试图遍历我的数据集以显示来自特定列的每一行的数据。我想获取列名“TaskStart”下的每个日期并将其显示在报告中,但它只显示所有行的第一行的日期,有人可以帮忙吗?

 foreach (DataTable table in ds.Tables)
 {

     foreach (DataRow dr in table.Rows)
     {
         DateTime TaskStart = DateTime.Parse(
             ds.Tables[0].Rows[0]["TaskStart"].ToString());
         TaskStart.ToString("dd-MMMM-yyyy");
         rpt.SetParameterValue("TaskStartDate", TaskStart);
     }
 }

【问题讨论】:

    标签: c# foreach dataset


    【解决方案1】:

    我相信你的本意是这样的:

    foreach (DataTable table in ds.Tables)
    {
        foreach (DataRow dr in table.Rows)
        {
            DateTime TaskStart = DateTime.Parse(dr["TaskStart"].ToString());
            TaskStart.ToString("dd-MMMM-yyyy");
            rpt.SetParameterValue("TaskStartDate", TaskStart);
        }
    }
    

    您总是访问数据集中的第一行。

    【讨论】:

      【解决方案2】:
      DateTime TaskStart = DateTime.Parse(dr["TaskStart"].ToString());
      

      【讨论】:

      • 您好,感谢您的回复,现在它只是在最后一行显示所有记录的最后日期?
      • 看来您的 rpt.SetParameterValue("TaskStartDate", TaskStart); 有问题因为你在每一圈设置它,但你在它之外的其他地方使用它。此外,您的格式化日期也不会去任何地方。
      【解决方案3】:
      foreach (DataRow dr in ds.Tables[0].Rows)
      {
          //your code here
      }
      

      【讨论】:

        【解决方案4】:
        foreach (DataTable table in ds.Tables)
        {
            foreach (DataRow dr in table.Rows)
            {
                var ParentId=dr["ParentId"].ToString();
            }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-06-05
          • 2015-04-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多