我正在使用Visual Studio 2012,SQL Server,C#。
我有两个DatePicker对象,我想在所选日期之间的每一天向数据库插入一行。
例如,我选择
Datepicker 1:09/08/2014(mm / dd / yyyy)
Datepicker 2:09/10/2014(mm / dd / yyyy)
当我点击相同内容“a”的插入按钮时,它将插入3次,日期为2014年8月9日至2014年10月9日,见图片
http://www.mediafire.com/convkey/2b4c/13l6kpevdk113026g.jpg
数据库中的结果如下所示:
http://www.mediafire.com/convkey/e25c/842wgeaq4z107y36g.jpg
我正在考虑使用for循环来完成此操作,但我不知道如何编写它。
非常感谢
答案 0 :(得分:0)
如果您正在使用C#,则可以使用DateTime中的函数来构造要执行的SQL字符串。 E.g。
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')