Subsonic 3.0 выберите Query, используя DateColumn - PullRequest
0 голосов
/ 26 апреля 2010

При выборе записей с использованием поля даты я сталкиваюсь с проблемой,

Мой SQL2005 View (ViewOrders) Столбец StarDate Имеет

4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 12:00:00 AM
4/23/2010 1:07:00 PM

Мой код с использованием дозвуковой 3.0

AMDB ctx = new AMDB();
SqlQuery vwOrd = ctx.Select.From<viewOrders>();   
vwOrd = vwOrd.And("StartDate").IsGreaterThanOrEqualTo("04/22/2010");//From date
vwOrd = vwOrd.And("StartDate").IsLessThanOrEqualTo("04/22/2010");// To Date
List<viewOrders> cat = vwOrd.ToList<viewOrders>();

Я могу получить только первые четыре записи, я не могу получить окончательную запись, в которой указана дата начала (23.04.2010, 13:07:00). Я думаю, что проблема в формате времени ..

Как я могу кодировать в subsonic, который сравнивает только дату в столбце даты и времени.

Мне не нужен метод date "Between" в дозвуковом режиме, поскольку я могу получить параметр с одной датой (From date only).

1 Ответ

1 голос
/ 26 апреля 2010

Как правило, получение записей даты и времени в диапазоне дат обычно выполняется с помощью (псевдо-кода)

DateField >= startdate AND DateField < (EndDate + 1 day)

Меня слегка смущает ваш пример, когда ваши записи даты все 23 апреля-10, но вы, кажется, ищете их 22-апреля-10?

Также, в качестве общего совета, проводите сравнения дат в формате «ГГГГММДД» - это будет работать с разными серверами в разных форматах даты.

...