Для корректной выборки из C# SQL запросом по датам необходимо следующее:
1. Преобразовать дату:
datStart = DateTime.ParseExact(date1.Value.ToString(), "dd.MM.yyyy H:mm:ss", new CultureInfo("en-US")).ToString("MM/dd/yyyy"); datEnd = DateTime.ParseExact(date2.Value.ToString(), "dd.MM.yyyy H:mm:ss", new CultureInfo("en-US")).ToString("MM/dd/yyyy");
2. Использовать CTOD в запросе:
BETWEEN(card.dat2d, CTOD('" + datStart + "'), CTOD('" + datEnd + "'))