Вы должны действительно использовать для этого параметризованные запросы и передать объект DateTime в качестве SQL DateTime параметра.
Если вы анализируете DateTime в String , вам придется работать с настройками локализации как на сервере приложений, так и на сервере базы данных. Это может привести к некоторым неприятным сюрпризам, таким как обработка даты, как она была в американском формате, с одной стороны и, например, Великобритания по другому. Строка 9/12/2000 может быть 12 сентября или 9 декабря. Поэтому сохраняйте данные в объекте / типе DateTime при обмене между приложением и базой данных.
Единственный раз, когда вы будете анализировать DateTime до String , будет при отображении данных (GUI). Но тогда вам следует убедиться, что вы используете правильную настройку локализации при разборе, чтобы отобразить ее в том формате, который ожидает пользователь.
Тот же принцип применяется к другим типам данных, например, float . Строковое представление этого зависит от локали, и я предполагаю, что вы не анализируете float до String при передаче его в базу данных, так зачем делать это с DateTime