插入数据时重复行

时间:2011-04-24 17:14:47

标签: c#

除了星期天,我试图填写一整年的日期表。以下是我的代码。

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会说“无源可用”。

1 个答案:

答案 0 :(得分:1)

您必须将插入逻辑包装到if块中。

试试这个

if (date.DayOfWeek != DayOfWeek.Sunday)
{
    cmd.Parameters["@Date"].Value = date.ToString("d");

    sqlConn.Open();
    cmd.ExecuteNonQuery();
    sqlConn.Close();
 }
 date = date.NextDay();