日期:2014-05-17  浏览次数:21164 次

c#循环时间段数据的问题
 现在的需求是,页面上有两个时间段begTime和endTime,通用用户选择的时间段,然后在sql数据库里查询符合这个时间段的数据,便要求是每一天都要循环到,如果某一天的数据为空,则用前一天的数据进行填充,例,前台查询2013-6-1到2013-6-22,则需要从1号到22号的每一天都到数据库里查询,如果19号没有数据则把18号的数据填充进去,敢问,这个在C#后台代码里应该如何写呢?
C# 需求 SQL

------解决方案--------------------
逻辑是要自己去处理的。
DateTime dt1 = DateTime.Parse("2013-6-1");
            DateTime dt2 = DateTime.Parse("2013-6-22");

            for (; dt1.CompareTo(dt2) > 0; dt1.AddDays(1))
            {
                string sql = "select * from test where dt1=" + dt1 + "";
               
                DataTable dtTemp = new DataTable(); //执行sql,返回dtTemp
                if (dtTemp.Rows.Count <= 0)
                {
                    string sqlTemp = "select * from test where dt1=" + dt1.AddDays(-1) + "";
                    //没有记录,则取昨天的填充
                }

            }