Вам следует поделиться кодом, который вы используете для выполнения запроса, но я предполагаю, что вы строите SQL-запрос динамически, используя строковые конкататы для построения запроса и аргументов.Вам лучше использовать параметризованный запрос, тогда вы можете передавать данные как объект даты, и вам не нужно конвертировать строку.
Например, если ваш запрос может быть примерно таким:
DateTime fromDate = DateTime.Now;
SqlCommand cmd = new SqlCommand(
"select * from Orders where fromDT = @fromDate", con);
cmd.Parameters.AddWithValue("@fromDate", fromDate);
...
Как хороший побочный эффект, это уменьшит ваш риск SQL-инъекции . Обновление: После вашего редактирования, которое значительно меняет контекст вопроса, и я должен признать, что у меня есть нулевые знания о проекте .netTiers.Но просто из любопытства вы пытались просто передать экземпляры даты напрямую, как показано ниже:
AppointmentQuery aq = new AppointmentQuery(true, true);
aq.AppendGreaterThan(AppointmentColumn.AppointmentDate, fromDate);
aq.AppendLessThan(AppointmentColumn.AppointmentDate, toDate);
AppointmentService aSvc = new AppointmentService();
TList<Appointment> appointmentsList = aSvc.Find(aq);