Никогда не сравнивайте столбцы с датами, используя CONVERT. Чтобы сравнить дату только с датой, используйте МЕЖДУ. Более того, вместо столбца DATETIME используйте тип DATE для столбца.
Чтобы отфильтровать DataView, отфильтруйте запрос, на котором основан. Используйте параметризованный запрос:
SELECT COUNT(*) AS Expr1
FROM Book
INNER JOIN Temp_Order ON Book.Book_ID = Temp_Order.Book_ID
WHERE (Temp_Order.User_ID = @User_ID)
AND Temp_Order.OrderDate BETWEEN @fromDate AND @toDate;
Передать @User_ID в качестве параметра для запроса: command.Parameters.AddWithValue("@User_ID", Convert.ToInt32(label.Text));
Вы также можете получить аналогичные результаты, используя LINQ и преобразовав результат в DataView, см. Фильтрация с помощью DataView .
В дополнение к строковому
Возможности фильтрации DataView также
предоставляет возможность использовать LINQ
выражения для фильтрации
критерии. Выражения LINQ позволяют
гораздо более сложный и мощный
операции фильтрации, чем
строковая фильтрация.
Что бы вы ни делали, не используйте свойство DataView.RowFilter.