除了星期天,我试图填写一整年的日期表。以下是我的代码。
for (int i = 0; i < 365; i++)
{
if ( b <= 6)
{
cmd.Parameters["@Shift"].Value = "S" + b.ToString();
}
b++;
if (b > 6)
b = 1;
if (date.DayOfWeek != DayOfWeek.Sunday)
{
cmd.Parameters["@Date"].Value = date.ToString("d");
}
date = date.NextDay();
sqlConn.Open();
cmd.ExecuteNonQuery();
sqlConn.Close();
}
我正在使用http://fluentdatetime.codeplex.com/中的扩展方法。
问题是,当插入行时,除了星期日重复之前的日期外,一切都是正确的。
例如,
4/28/2011 < Thu
4/29/2011 < Fri
4/30/2011 < Sat
4/30/2011 < Sat
5/2/2011 < Mon
我哪里出错了?
PS。当我试图找出断点时,指针到达sqlConn.Open()后,Visual Studio 2010会说“无源可用”。
答案 0 :(得分:1)
您必须将插入逻辑包装到if块中。
试试这个
if (date.DayOfWeek != DayOfWeek.Sunday)
{
cmd.Parameters["@Date"].Value = date.ToString("d");
sqlConn.Open();
cmd.ExecuteNonQuery();
sqlConn.Close();
}
date = date.NextDay();