2015-04-08 4 views
0

Может ли кто-то исправить свое выражение RowFilter, чтобы вычесть две даты, когда одна дата является столбцом таблицы базы данных, а другая дата - текущая дата. Ниже приведен фрагмент кода, где я проверяю, меньше ли разницы между датами. 10. «CreationDateTime» - столбец таблицы базы данных. С этим кодом я получаю пропавшую ошибку операнда.Выражение RowFilter DataTable для вычитания двух дат

dataQuery = string.Format("(CreationDateTime - (" + DateTime.Now + "))<={0}",10); 
myDataView.RowFilter = dataQuery; 
+0

Вы пытались ответить на мой вопрос? –

ответ

0

Один из вариантов может создать другой столбец (создающий другой столбец в вашем запросе) для разницы между ними и создания фильтра после этого.

Вы можете использовать DATEDIFF, чтобы получить текущую дату разности и вернуть int как час;

DATEDIFF(hh, CreationDateTime, GETDATE()) as HourDiff 

и вы можете отфильтровать это в своем DataTable;

myDataView.RowFilter = "HourDiff <= 10";