【问题标题】:How to show merge tables(number of tables) data in descending order according to date/time column?如何根据日期/时间列以降序显示合并表(表数)数据?
【发布时间】:2014-01-19 15:09:11
【问题描述】:

如何按日期/时间列降序显示合并表(表数)数据?

根据这段代码,我有一个名为“朋友”的表。

SqlDataAdapter getnewsfeeds;
SqlDataAdapter friendadapter = new SqlDataAdapter("select * from " + Session["username"].ToString() + "_friends ", friendsconnection);
friendadapter.Fill(friendsdataset);
int friendrowcount = friendsdataset.Tables[0].Rows.Count;
if (friendrowcount > 0)
{
      getnewsfeeds = new SqlDataAdapter("select * from " + Session["username"].ToString() + "_newsfeeds ", con);
      getnewsfeeds.Fill(ds2);
      for (int i = 0; i < friendrowcount; i++)
      {
          friendstringtable = " " + friendsdataset.Tables[0].Rows[i]["friendsusername"].ToString() + "_newsfeeds ";
          getnewsfeeds = new SqlDataAdapter("select * from " + friendstringtable + "", con);
          getnewsfeeds.Fill(ds2);
      }

}
ds2.Tables[0].DefaultView.Sort = "time_date desc";

合并表的数据正在显示,但未按日期/时间降序显示。 (例如 Facebook 主页)。

【问题讨论】:

    标签: c# asp.net dataset


    【解决方案1】:

    我认为你不能就地完成,你需要创建一个新的DataTable

    DataView dv = ds2.Tables[0].DefaultView;
    dv.Sort = "time_date desc";
    DataTable sorted = dv.ToTable();
    

    Here 是一个很好的参考。

    话虽如此,在您的 sql 查询中执行它不是更好/更容易/更快吗?

    getnewsfeeds = new SqlDataAdapter(
       "select * from " + friendstringtable + " order by time_date desc", con);
    

    虽然这不是您的问题,但我的建议是不要为每个用户设置一个表格。我知道大多数人来这里不是为了“建议”,而是为了直接回答,但是在这种情况下,我恐怕不得不说些什么。

    【讨论】:

      猜你喜欢
      • 2014-07-02
      • 2021-04-01
      • 2021-10-05
      • 2010-09-19
      • 2022-01-21
      • 2020-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多