Хорошо, сначала отключите, НЕ превратите исключение в возвращаемое значение null
catch(Exception e)
{
return null;
}
Это плохая практика, так как вы поглощаете КАЖДОЕ возможное исключение.Вместо этого вы должны только перехватывать исключения, которые должен выдавать адаптер sql, или даже лучше: не перехватывать их, а документировать их и перехватывать их дальше, потому что если что-то идет не так в этом методе, это означает ваше соединение SQL или ваш кодсломано.Если вы оставите все как есть, вы только скрываете проблемы и значительно усложняете отладку.
Во-вторых, вы должны использовать параметры в своем запросе.
Теперь к синтаксической ошибке: startDate и endDate имеют типDateTime, поэтому вы должны сначала преобразовать их в строку с .ToString("dd/MM/yyyy")
- это будет меньше проблем с параметрами.