【问题标题】:Search for all days of a week using dateTimePicker使用 dateTimePicker 搜索一周中的所有日子
【发布时间】:2016-12-08 13:44:26
【问题描述】:

我想检索一周中的所有天,选择给定一周的任何一天。

示例:想要检索 31/07/2016 (dd/MM/yyyy) 到 06/08/2016 (dd/MM/yyyy)

通过选择当前一周中的任何一天发生。

有可能吗?

我当前的代码:

private void AutoLoadCalendar()
        {

            string constringF = @"Data Source=|DataDirectory|\cadastramentodb.sdf;Persist Security Info=False";
            string QueryF = "select * from Funcionarios  where (status = N'Ativo') and datepart(year, datafimcontrato) = @ano and datepart(month, datafimcontrato) = @mes ";
            SqlCeConnection conDataBaseF = new SqlCeConnection(constringF);
            SqlCeCommand cmdDataBaseF = new SqlCeCommand(QueryF, conDataBaseF);
            cmdDataBaseF.Parameters.Add("@mes", SqlDbType.Int).Value = Convert.ToInt32(monthCalendar1.SelectionStart.Month);
            cmdDataBaseF.Parameters.Add("@ano", SqlDbType.Int).Value = Convert.ToInt32(monthCalendar1.SelectionStart.Year);
            try
            {


                SqlCeDataAdapter sda = new SqlCeDataAdapter();
                sda.SelectCommand = cmdDataBaseF;


                System.Data.DataTable dbdatasetF = new System.Data.DataTable();
                sda.Fill(dbdatasetF);
                BindingSource bSourceF = new BindingSource();

                bSourceF.DataSource = dbdatasetF;
                dataGridView1.DataSource = bSourceF;
                sda.Update(dbdatasetF);
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

【问题讨论】:

  • 您在哪里处理代码中的日期?或者我应该说你想在你的代码 sn-p 的哪里做这个?
  • 日期部分和月历
  • 将解决方案放在下面的答案块中,而不是问题中。

标签: c# winforms date sql-server-ce datepart


【解决方案1】:

最好的问候

您可以使用 DATEPART 功能知道一周中的哪一天有您选择的日期,知道这个数字很容易解决您的问题 n___n

试试这个:

private void AutoLoadCalendar()
    {

        string constringF = @"Data Source=|DataDirectory|\cadastramentodb.sdf;Persist Security Info=False";
        string QueryF = 
            "DECLARE @DiaSemana AS INT " +
            "SET @DiaSemana=DATEPART(DW,@Fecha) " +
            " " +
            "SELECT * " +
            "FROM Funcionarios " +
            "WHERE [status] = N'Ativo' AND datafimcontrato >= DATEADD(DD,@DiaSemana*-1,@Fecha) AND datafimcontrato <= DATEADD(DD,7-@DiaSemana,@Fecha) ";
        SqlCeConnection conDataBaseF = new SqlCeConnection(constringF);
        SqlCeCommand cmdDataBaseF = new SqlCeCommand(QueryF, conDataBaseF);
        cmdDataBaseF.Parameters.Add("@Fecha", monthCalendar1.Value);
        try
        {
            SqlCeDataAdapter sda = new SqlCeDataAdapter();
            sda.SelectCommand = cmdDataBaseF;

            System.Data.DataTable dbdatasetF = new System.Data.DataTable();
            sda.Fill(dbdatasetF);
            BindingSource bSourceF = new BindingSource();

            bSourceF.DataSource = dbdatasetF;
            dataGridView1.DataSource = bSourceF;
            sda.Update(dbdatasetF);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多