У меня есть база данных SQL Server, и когда я открываю ее на экране, я хочу, чтобы она просто показывала записи, которые были добавлены сегодня.
У меня есть дата, хранящаяся в поле с именем DateAdded, и она имеет тип данных DateTime2.
я пробовал это
string dateAdded = today.ToShortDateString();
string query = "SELECT CustomerID, Title, FirstName, LastName, AppStatus
FROM Customer
WHERE DateAdded ='" + dateAdded + "'";
Это не отображает никаких записей, которые я бы предположил, поскольку атрибут времени хранится вместе с датой.
Я искал в Интернете, чтобы попытаться найти ответ, но, похоже, ни один из них не касался только записей, добавленных сегодня.
Мне также потребуется выполнить поиск по диапазонам дат на основе пользовательских данных, и это может быть любой диапазон, например, просмотр записей с 01.09.2013 по 18.03.2013.
Каков наилучший способ написать sql-запрос для этого?
РЕДАКТИРОВАТЬ - мой ответ
Ответ, который дал Карл, сработал, но я не понял, как изменить значения, чтобы иметь разные диапазоны дат. Я думаю, что должен опубликовать здесь свой окончательный результат, основанный на полученных ответах, так что это может помочь кому-то еще. :)
using (SqlConnection conn = new SqlConnection(connectionString))
{
int year = date1.Year;
int month = date1.Month;
int day = date1.Day;
string dateAdded = year + "-" + month + "-" + day + " ";
int year2 = date2.Year;
int month2 = date2.Month;
int day2 = date2.Day;
string dateAdded2 = year2 + "-" + month2 + "-" + day2 + " ";
string query = "SELECT CustomerID, Title, FirstName, LastName, AppStatus, DateAdded FROM Customer WHERE DateAdded >= @date1 AND DateAdded <= @date2";
using (SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("date1", dateAdded + "00:00:00");
cmd.Parameters.AddWithValue("date2", dateAdded2 + "23:59:59");
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(holder);
}
}
DateTime
и, таким образом, обрабатывать ваши данные - person marc_s   schedule 10.04.2013