Формат datetime в формат SQL с использованием C#
Я пытаюсь сохранить текущий формат даты и времени из C# и преобразовать его в формат даты в SQL сервере, так как гггг-ММ-ДД чч:мм:СС
, так что я могу использовать его для моей "обновление" запроса.
Это был мой первый код:
DateTime myDateTime = DateTime.Now;
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd HH:mm:ss");
Выход на сегодняшний день-это хорошо, но время всегда на "12:00:00" так я изменил мой код следующим образом:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.TimeOfDay.ToString("HH:mm:ss");
Он дал мне эту ошибку при компиляции:
formatexception версия обработано
И предложил мне нужно разобрать. Поэтому я старался делать это, чтобы мой код согласно моим исследованиям здесь на сайте StackOverflow:
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.Parse.TimeOfDay.ToString("HH:mm:ss");
или
string sqlFormattedDate = myDateTime.Date.ToString("yyyy-MM-dd") + " " +
myDateTime.tryParse.TimeOfDay.ToString("HH:mm:ss");
Но это'ы говоришь мне, что это'ы метод, который не является допустимым для данного контекста. Я пытался искать решение моей проблемы и я застрял на два часа. Я'м все еще немного нового в C#, вы можете помочь мне, пожалуйста?
попробуйте это ниже
в Используя стандартный формат даты и времени на "Ы" - а также обеспечить совместимость интернационализации (ММ/ДД против ДД/ММ):
Полные Параметры: (код: результат выборки)
Поддерживается .Чистая рамки: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0 Ссылка: [`Типа Datetime.Метод ToString Метод][1]
[1]: http://msdn.microsoft.com/en-us/library/zdtaw1bw(в=против 110).аспн
Правильный ответ уже был дан на "параметров" по. Форматирование даты и передавая его в виде строки SQL-сервера может привести к ошибкам, поскольку это зависит от параметров, как дата интерпретируется на стороне сервера. В Европе, мы пишем '1.12.2012' для обозначения 1-го декабря 2012 года, в то время как в других странах это может рассматриваться как 12 января.
При оформлении заявления непосредственно в SSMS я использовать формат
ггггммдд
, которые, кажется, быть достаточно общим. Я не возникнут какие-либо проблемы на различных установках Я до сих пор работал по.Есть еще один редко используемый формат, который немного странный, но работает для всех версий:
вернется первого октября 2013 года.
вернусь 1 октября, 1:45:01 вечера
Я настоятельно рекомендуем использовать параметры, и никогда формат свой собственный SQL-код при вставке вместе доморощенные отформатированные фрагменты заявлении. Это запись для SQL-инъекции и какие-то странные ошибки (форматирование числа с плавающей точкой-это еще одна потенциальная проблема)
Ваш первый код будет работать при этом
Ваша проблема в "Дата" и имущество, которое усекает
Датавремя
на сегодняшний день только. Вы могли бы поставить конверсия такой:Ответ, который я искал, было:
Я'вэ узнал, что вы можете сделать это так:
где myCountryDateFormat могут быть изменены, чтобы встретить изменения в зависимости от требований.
Обратите внимание, что помеченные "на этот вопрос уже есть ответ здесь:" есть на самом деле не ответил на вопрос, потому что, как вы можете видеть это раньше а ".Дата" и вместо того, чтобы опустить его. Это'ы довольно запутанным для новых программистов .Чистая
если вы хотите сохранить текущую дату в таблицу, так что вы можете использовать
или передать эту функцию как параметр
например. 'tblname обновление установить curdate=функции getdate (), где colname=123'
Почему бы не пропустить строку :
Я думаю, что проблема была двумя односпальными недостающих кавычках.
Это в SQL я бегу к MSSMS:
Ваша проблема в свойство "дата", что усекает
Датавремя
на сегодняшний день только. Вы могли бы поставить конверсия такой:Еще одно решение для передачи даты и времени из C# в SQL-сервере, независимо от настроек языка SQL сервер
якобы, что региональные параметры показывают дату как ДД.Мм. гггг (немецкий стандарт '104') тогда
переходит на C# переменная типа datetime в SQL переменную типа дата-сервера, с учетом сопоставления в соответствии с "104" и правила . Даты в SQL-сервер получает гггг-ММ-ДД
Если региональные параметры дисплея Датавремя по-разному, затем использовать соответствующий совпадающие с сервера SQL преобразовать таблицу
подробнее о правилах: https://www.techonthenet.com/sql_server/functions/convert.php
только ты ставишь на "Т" в+Датавремя.Сейчас.ToLongTimeString()+ '2015-02-23'
Если вы хотите обновить таблицу с типом datetime, вы можете использовать SQL-строку, как в этом примере: