Даты запросов из SQLServer в C #? - PullRequest
1 голос
/ 23 февраля 2012

Я создаю веб-приложение, которое будет показывать предстоящие дни рождения списка людей, хранящихся в БД SQL Server 2008.Я не могу понять, как запросить все записи в БД, которые в течение 30 дней с сегодняшней даты.

Вот что у меня есть:

using (HumanResourcesDB db = newH umanResourcesDB(ConfigurationManager.ConnectionStrings["HumanResourcesDB"].ConnectionString))
            {
                DateTime todaysDate = DateTime.Now;

                List<Employee> record =
                (from tab in db.Employees
                 where tab.Birthday between DateTime.Now and todaysDate.AddDays(30) 
                 select tab).ToList();
                this.grdBirthdays.DataSource = record;
                this.grdBirthdays.DataBind();
            }

, конечно, "между" и "и" не работает, это то, что мне нужно заполнить. Я искал в сетинемного безрезультатно.Любая помощь?

1 Ответ

4 голосов
/ 23 февраля 2012

Просто используйте больше и меньше

using (HumanResourcesDB db = newHumanResourcesDB(ConfigurationManager
            .ConnectionStrings["HumanResourcesDB"].ConnectionString))
{
    List<Employee> record = (from tab in db.Employees
     where tab.Birthday >= DateTime.Today
     && tab.Birthday < DateTime.Today.AddDays(31)
     select tab).ToList();

    this.grdBirthdays.DataSource = record;

    this.grdBirthdays.DataBind();
}

Также я должен упомянуть, что я использовал DateTime.Today, а не DateTime.Now, потому что сегодня представляет начало дня как 00: 00: 00.000. Если у кого-то день рождения установлен на то, что сегодня на 00: 00: 00.000, и вы использовали DateTime.Now (предположим, что сейчас 8:00 утра). Там день рождения не будет включен в этот диапазон, потому что он считается раньше "сейчас".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...