0

我有一个 sql 数据库,其中填充了每周培训的特定日期。我们只在周二和周三进行每周培训。它目前的输出如下:

Training Schedule

Mar 4 - Training Title
Mar 5 - Training Title
Mar 12 - Training Title
Mar 19 - Training Title

好吧,现在我被要求显示数据库中没有的日期,但只有星期二和星期三。所以基本上它现在必须看起来像这样。

Training Schedule

Mar 4 - Training Title
Mar 5 - Training Title
Mar 12 - Training Title
Mar 13 - No Training
Mar 19 - Training Title
Mar 20 - No Training

在不进入数据库并将所有“无培训”日期添加到数据库的情况下执行此操作的最佳方法是什么(因为这将永远持续下去)。现在我只是使用以下代码输出数据库结果:

var now = DateTime.Now;
var tableSql = "select * from Training where Date >= " + "'" + now + "'" + " order by Date";
pcm.CommandText = tableSql;
prs = pcm.ExecuteReader();
var rowcount = 0;
while (prs.Read())
   {
     rowcount++;
          %>
 <%=Convert.ToDateTime(prs["Date"].ToString()).ToString("MMM d").ToUpper()%> - <%=prs["Title"].ToString().ToUpper() %> <% } %>
        <%
            prs.Close();
            pcn.Close();
        %>
4

1 回答 1

0

遍历 SQL 查询返回的数据集并将结果添加到集合 ( List<string>)。然后获取您已知的日期范围并遍历这些日期,如果星期几是星期二或星期四,请检查您的收藏以查看该日期是否有值。如果是,则显示该字符串,如果不是,则显示“No Training”消息。

于 2013-03-05T21:54:54.980 回答