为什么日期不会在下面的代码中递增?

时间:2014-05-10 13:23:54

标签: mysql winforms

while(date.Year == year)
{
    query = string.Format("INSERT INTO Day VALUES(@Date,@DayOff)");
    command.CommandText = query;
    command.Parameters.Clear();
    command.Parameters.AddWithValue("@Date", date);
    command.Parameters.AddWithValue("@DayOff",0);
    command.ExecuteNonQuery();
    date.AddDays(1);
}

在我运行代码之前表是空的,它添加了第一个日期2014年1月1日然后它尝试再次添加相同的日期,虽然我正在递增它。 我需要将整个日期添加到日历中,  我运行此代码时收到的错误是: 违反PRIMARY KEY约束'PK_Day'。无法在对象'dbo.Day'中插入重复键。

声明已经终止。

1 个答案:

答案 0 :(得分:0)

date.AddDays(1)会返回一个新日期,因此您的代码应为:

while(date.Year == year)
{
  ....
  date = date.AddDays(1);
}