Вставка значений DateTime в базу данных? - PullRequest
1 голос
/ 29 мая 2011

Кажется, что это должно быть действительно очевидно, но как я могу поместить объект DateTime в базу данных MSSQL? Когда я конвертирую его в строку, он продолжает добавлять «-7: 00» в конце для смещения часового пояса, поэтому запрос не принимается. Как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 29 мая 2011

Если вы используете C #, я бы предложил следующее:

SqlCommand cmd = new SqlCommand("INSERT INTO yourTable (dateTimeColumn) VALUES (@value)", connection);
cmd.Parameters.AddWithValue("@value", yourDateTimeObject);

cmd.ExecuteNonQuery();

Это будет работать для вставки значения.Если нет, опубликуйте свой код, чтобы показать, в чем причина ошибки, поскольку это означает, что объект datetime, из которого вы получаете значение, неверно передает данные.

1 голос
/ 29 мая 2011

Как вы пытаетесь вставить DateTime в базу данных?Если вы преобразуете его в строку для передачи в хранимую процедуру (плохая идея; лучше использовать тип SQL даты), то сначала нужно преобразовать все DateTime объекты в UTC, используя метод .net ToUniversalTime.В UTC у DateTime не будет смещения часового пояса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...