在范围时间内插入数据库

时间:2014-09-18 16:11:56

标签: c# sql insert

我正在使用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循环来完成此操作,但我不知道如何编写它。

非常感谢

1 个答案:

答案 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')