Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据用户值创建多个INSERT语句_C#_Date_If Statement - Fatal编程技术网

C# 根据用户值创建多个INSERT语句

C# 根据用户值创建多个INSERT语句,c#,date,if-statement,C#,Date,If Statement,当用户将学校班级添加到系统中时,他们会选择班级的开始和结束日期。我已经解决了如何计算这是多少天,并将其存储在我的数据库表'Class'中的'TotalDayNumber'列中 当前,当用户添加一个类时,它只向数据库中插入一行,但我希望为每个单独的日期“TotalDayNumber”添加相同数量的行 例如,如果开始日期为2017年3月1日-2017年3月15日-总天数为14天,那么我想创建14行来表示每一天。”下面是我的插入查询。我想我需要一个IF语句,但我甚至不知道如何开始 protected

当用户将学校班级添加到系统中时,他们会选择班级的开始和结束日期。我已经解决了如何计算这是多少天,并将其存储在我的数据库表'Class'中的'TotalDayNumber'列中

当前,当用户添加一个类时,它只向数据库中插入一行,但我希望为每个单独的日期“TotalDayNumber”添加相同数量的行

例如,如果开始日期为2017年3月1日-2017年3月15日-总天数为14天,那么我想创建14行来表示每一天。”下面是我的插入查询。我想我需要一个IF语句,但我甚至不知道如何开始

protected void insertbutton_Click(object sender, EventArgs e)
    {

        int? recurrencedata = Convert.ToInt32(ddlRecurrence.Text);
        if (recurrencedata == 1)
        {
            int moduledata = Convert.ToInt32(ddlModule.Text);
            DateTime startdatedata = Convert.ToDateTime(txtstartdate.Text);
            DateTime enddatedata = Convert.ToDateTime(txtenddate.Text);
            int classtypedata = Convert.ToInt32(ddlClassType.Text);
            int roomcodedata = Convert.ToInt32(ddlRoomCode.Text);
            int starttimedata = Convert.ToInt32(ddlStartClassTime.Text);
            int endtimedata = Convert.ToInt32(ddlEndClassTime.Text);

            startdatedata = DateTime.Parse(txtstartdate.Text).Date;
            enddatedata = DateTime.Parse(txtenddate.Text).Date;

            TimeSpan totaldays = enddatedata - startdatedata;

            // This is rounding the TimeSpan to the day value only
            string totalday = ((int)Math.Round(totaldays.TotalDays, MidpointRounding.AwayFromZero)).ToString();

            string DefaultConnection = WebConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
            SqlConnection myConnection = new SqlConnection(DefaultConnection);

            myConnection.Open();

            string query = "INSERT INTO Class (ModuleId, ClassTypeId,  ClassScheduleStartTimeId, ClassScheduleEndTimeId, RoomCodeId, StartTime, EndTime, RecurrenceId, TotalDayNumber) VALUES ( @moduledata, @classtypedata, @starttimedata, @endtimedata, @roomcodedata, @startdatedata, @enddatedata,  @recurrencedata, @totaldaynumberdata)";

            SqlCommand myCommand = new SqlCommand(query, myConnection);
            myCommand.Parameters.AddWithValue("@moduledata", moduledata);
            myCommand.Parameters.AddWithValue("@classtypedata", classtypedata);
            myCommand.Parameters.AddWithValue("@startdatedata", startdatedata);
            myCommand.Parameters.AddWithValue("@enddatedata", enddatedata);
            myCommand.Parameters.AddWithValue("@starttimedata", starttimedata);
            myCommand.Parameters.AddWithValue("@roomcodedata", roomcodedata);
            myCommand.Parameters.AddWithValue("@endtimedata", endtimedata);
            myCommand.Parameters.AddWithValue("@recurrencedata", recurrencedata);
            myCommand.Parameters.AddWithValue("@totaldaynumberdata", totalday);
            myCommand.ExecuteNonQuery();
            myConnection.Close();

            SuccessPanel.Visible = true;    
        }

}

将总天数设为
int
,然后为
循环添加insert命令,如下所示

    // add for loop 
    for(int i =0; i <= totalday; i++)
    {
        myConnection.Open();

        string query = "INSERT INTO Class (ModuleId, ClassTypeId,  ClassScheduleStartTimeId, ClassScheduleEndTimeId, RoomCodeId, StartTime, EndTime, RecurrenceId, TotalDayNumber) VALUES ( @moduledata, @classtypedata, @starttimedata, @endtimedata, @roomcodedata, @startdatedata, @enddatedata,  @recurrencedata, @totaldaynumberdata)";

        SqlCommand myCommand = new SqlCommand(query, myConnection);
        myCommand.Parameters.AddWithValue("@moduledata", moduledata);
        myCommand.Parameters.AddWithValue("@classtypedata", classtypedata);
        myCommand.Parameters.AddWithValue("@startdatedata", startdatedata);
        myCommand.Parameters.AddWithValue("@enddatedata", enddatedata);
        myCommand.Parameters.AddWithValue("@starttimedata", starttimedata);
        myCommand.Parameters.AddWithValue("@roomcodedata", roomcodedata);
        myCommand.Parameters.AddWithValue("@endtimedata", endtimedata);
        myCommand.Parameters.AddWithValue("@recurrencedata", recurrencedata);
        myCommand.Parameters.AddWithValue("@totaldaynumberdata", totalday);
        myCommand.ExecuteNonQuery();
        myConnection.Close();
    }
//为循环添加
对于(int i=0;i