我試圖用除週日之外的全年日期填充表格。以下是我的代碼。在插入數據時重複行
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會說「沒有可用的源」。
'如果(date.DayOfWeek!= DayOfWeek.Sunday)'想必你不應該執行'insert'可言。您的執行不在「if」塊中。這是填充日曆表BTW的非常低效的方式。 – 2011-04-24 17:17:14
感謝您的建議。請讓我知道是否有更好的方法。我仍然是一個學習者=) – 2011-04-24 17:21:44
我會在一個語句而不是365調用數據庫使用其中一種技術[從這裏](http://stackoverflow.com/questions/10819/sql-auxiliary-表的號碼/ 2663232#2663232)。這會生成數字而不是日期,但使用'DATEADD(DAY,N-1,'20110101')' – 2011-04-24 17:38:26