如何使用两个dateTimePicker填充列中的日期范围?

问题描述 投票:-1回答:1

我必须使用SQL Server,WinForms和两个DateTimePickers在列中填充一系列日期。第一个DateTimePicker是范围的开始日期,第二个是范围的完成日期,并且必须在列中插入所有日期,这些日期包含在第一个DateTimePicker和第二个DateTimePicker中选择的日期之间。

我已经尝试使用下面显示的代码实现它,但它不起作用:

private void button1_Click(object sender, EventArgs e)
    {
        using (SqlConnection con = new SqlConnection(@"Data Source =.\SQLEXPRESS01; Initial Catalog = Vagtplan; Integrated Security = True"))

        {
            DateTime startDate = dateTimePicker1.Value;
            DateTime finishDate = dateTimePicker2.Value;
            DateTime finishDate1 = finishDate.AddDays(+1);
            DateTime countDate = dateTimePicker1.Value;

           while (!countDate.ToString().Equals(finishDate1.ToString()));
                {
                    if ((countDate.DayOfWeek == DayOfWeek.Monday) | (countDate.DayOfWeek == DayOfWeek.Tuesday) 
                        | (countDate.DayOfWeek == DayOfWeek.Wednesday) | (countDate.DayOfWeek == DayOfWeek.Thursday)
                        | (countDate.DayOfWeek == DayOfWeek.Friday) | (countDate.DayOfWeek == DayOfWeek.Saturday) | (countDate.DayOfWeek == DayOfWeek.Sunday))
                    {
                        SqlCommand command = new SqlCommand("INSERT INTO [Vagter] ([Dato]) VALUES ('" + countDate.ToString("yyyy-MM-dd HH:mm:ss.fff") + "')", con);
                        con.Open();
                        command.ExecuteNonQuery();
                        con.Close();
                    }
                    countDate = countDate.AddDays(1.0);
                }

                MessageBox.Show("Vagtplanen er oprettet");

        }



    }

预期结果是填充列中第一个DateTimePicker中选择的日期和第二个DateTimePicker中选择的日期之间的所有日期。现在什么也没发生。现在错误显示,什么都没有。

c# sql-server winforms datetime datetimepicker
1个回答
0
投票

问题是与while结束时的分号。只需删除它。

由于那里有分号,括号内的代码不会被执行,循环将重复执行。

更换:

while (!countDate.ToString().Equals(finishDate1.ToString()));

附:

while (!countDate.ToString().Equals(finishDate1.ToString()))
© www.soinside.com 2019 - 2024. All rights reserved.