2014-09-18 59 views
0

我正在使用Visual Studio 2012,SQL Server,C#。在範圍時間插入數據庫

我有兩個DatePicker對象,我想在所選日期之間每天在數據庫中插入1行。

例如,我選擇

日期選擇器1:2014年9月8日(毫米/日/年)

日期選擇器2:2014年9月10日(毫米/日/年)

而且當我點擊插入按鈕與相同內容的「一」,它會插入與2014年9月8日之間的日期3次,2014年9月10日,見圖片

http://www.mediafire.com/convkey/2b4c/13l6kpevdk113026g.jpg

的結果在數據庫中應該是這樣的:

http://www.mediafire.com/convkey/e25c/842wgeaq4z107y36g.jpg

我想用一個循環做到這一點,但我不知道怎麼寫。

非常感謝您

+3

的數據庫您使用的和你有什麼企圖。使用DATEDIFF/DATEADD的存儲過程將成爲您需要的可能 – ItalianStallion 2014-09-18 16:14:16

+0

您的預期輸出是什麼以及如何將數據插入表中? – Ambrish 2014-09-18 16:22:03

+0

我使用C#,我的SQL服務器,並輸出到中繼器 – user3544501 2014-09-18 16:59:27

回答

0

如果您正在使用C#您可以使用函數的DateTime構造SQL字符串來執行。例如。

DateTime start = new DateTime(2000, 2, 25); 
    DateTime end = new DateTime(2000, 3, 2); 
    String sql = ""; 
    for (int i = 0; i < end.Subtract(start).Days; i++) 
    { 
     if (sql.Length > 0) 
      sql += ","; 
     sql += "\n('" + start.AddDays(i).ToString("yyyy-MM-dd") + "')"; 
    } 
    sql = "INSERT INTO tableX VALUES" + sql; 

主要生產

INSERT INTO tableX VALUES 
('2000-02-25'), 
('2000-02-26'), 
('2000-02-27'), 
('2000-02-28'), 
('2000-02-29'), 
('2000-03-01') 
相關問題