在将日期插入 MySql 表时阻止所有星期三和星期四

使用下面的代码,我可以将一系列日期插入到 MySql 表中,但我需要根据工作日限制日期。例如,我想限制所有日期进入星期三的表格。


protected void Submit_click(object sender, EventArgs e)

{

DateTime startdate = Convert.ToDateTime(txtstartdate.Text);

DateTime enddate = Convert.ToDateTime(txtenddate.Text);

for (DateTime date = startdate; date <= enddate; date = date.AddDays(1))

{

    try

    {

        var shtdate = date.ToShortDateString();

        string MyConString = "SERVER=localhost;DATABASE=mydb;UID=myid;PASSWORD=abc123;";

        MySqlConnection connection = new MySqlConnection(MyConString);

        string cmdText = "INSERT INTO approved(agentlogin ,leavetype ,date ,time, reason)VALUES ( @login, @type, @date, 'Full day', @reason)";

        MySqlCommand cmd = new MySqlCommand(cmdText, connection);

        cmd.Parameters.AddWithValue("@login", Label1.Text);

        cmd.Parameters.AddWithValue("@type", ddlleavetype.Text);

        cmd.Parameters.AddWithValue("@date", shtdate);

        cmd.Parameters.AddWithValue("@reason", txtreason.Text);


        connection.Open();


        int result = cmd.ExecuteNonQuery();

        connection.Close();


        //lblError.Text = "Data Saved";


    }

    catch (Exception)

    {

        Console.Write("not entered");

        //lblError.Text = ex.Message;

    }

}

}

那我该怎么办呢?谢谢你的帮助


精慕HU
浏览 210回答 3
3回答

米琪卡哇伊

您可以尝试DateTime.DayOfWeek跳过所有具有DayOfWeek.Wednesday或DayOfWeek.Thursday类似以下内容的日期:for (DateTime date = startdate; date <= enddate; date = date.AddDays(1)){&nbsp; &nbsp; if (date.DayOfWeek == DayOfWeek.Wednesday || date.DayOfWeek == DayOfWeek.Thursday)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; // skip to next day&nbsp; &nbsp; &nbsp; &nbsp; continue;&nbsp; &nbsp; }&nbsp; &nbsp; try&nbsp;&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; // write to database&nbsp; &nbsp; }&nbsp; &nbsp; catch (Exception)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; Console.Write("not entered");&nbsp; &nbsp; &nbsp; &nbsp; //lblError.Text = ex.Message;&nbsp; &nbsp; }}

扬帆大鱼

我没有根据星期三和星期四的 2 个工作日制定条件,而是根据所有其他 5 天编写条件,如下所示。protected void Submit_click(object sender, EventArgs e){&nbsp; &nbsp; DateTime startdate = Convert.ToDateTime(txtstartdate.Text);&nbsp; &nbsp; DateTime enddate = Convert.ToDateTime(txtenddate.Text);&nbsp; &nbsp; for (DateTime date = startdate; date <= enddate; date = date.AddDays(1))&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (date.DayOfWeek == DayOfWeek.Monday || date.DayOfWeek == DayOfWeek.Tuesday || date.DayOfWeek == DayOfWeek.Friday || date.DayOfWeek == DayOfWeek.Saturday || date.DayOfWeek == DayOfWeek.Sunday)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var shtdate = date.ToShortDateString();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; string MyConString = "SERVER=localhost;DATABASE=mydb;UID=myid;PASSWORD=abc123;";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MySqlConnection connection = new MySqlConnection(MyConString);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; string cmdText = "INSERT INTO approved(agentlogin ,leavetype ,date ,time, reason)VALUES ( @login, @type, @date, 'Full day', @reason)";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; MySqlCommand cmd = new MySqlCommand(cmdText, connection);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cmd.Parameters.AddWithValue("@login", Label1.Text);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cmd.Parameters.AddWithValue("@type", ddlleavetype.Text);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cmd.Parameters.AddWithValue("@date", shtdate);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cmd.Parameters.AddWithValue("@reason", txtreason.Text);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; connection.Open();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int result = cmd.ExecuteNonQuery();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;else{&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; }}

慕村9548890

DateTime 有一个 DayOfWeek 属性。(在这里查看)。你可以在 if 语句中使用它,你就可以开始了。
打开App,查看更多内容
随时随地看视频慕课网APP