Запрос SQL с помощью datetimepicker в C#
Я пытаюсь запросить SQL Server с помощью C# и dateTimePicker. Но мой SQL-сервер использует тип VARCHAR в строке date_time. Как я могу преобразовать datetime в VARCHAR?
Строка в SQL находится в формате VARCHAR примерно так: 20171106101700 (год/месяц/день/час/минута/сек)
А SQL-код в c# таков:
comando.CommandText = "Select ID, BIRTH_TIME, NAME, ADDRESS, PHONE, COUNTRY from USERDB where BIRTH_TIME Like "' + this.dateTimePicker.Value.ToString("yyyyMMdd") + "'";
Спасибо!
Что я уже пробовал:
преобразование с помощью
Convert(varchar(8), BIRTH_TIME, 112)
PIEBALDconsult
Во-первых, исправьте базу данных; всегда храните даты как даты и никогда как строки.
Во-вторых, используйте параметризованный оператор, никогда не используйте конкатенацию для их формирования.
GKP1992
Как указывал PIEBALDconsult, хранение дат в виде строк в базе данных-ужасная идея. Я могу придумать только одну причину, по которой кто-то сделал бы это, - это возможность использовать предложение like и т. д., Но даже тогда у него есть какие-то преимущества. Это просто замедляет работу вашего сервера БД. Пожалуйста, используйте DateTime.
Claude Hitech
Я не могу изменить никаких параметров SQL, потому что я не администратор.