2010-06-29 3 views
0

У меня есть вопрос, связанный с набором данных. Интересно, почему я читаю неправильное значение из набора данных?Чтение неправильного значения из набора данных

поле, что я хочу прочитать имеет значение: 2010-06-28 21:00:00

Однако, когда я пытаюсь прочитать первую строку с помощью:

DateTime endShift = Convert.ToDateTime (ds.Tables [0] .Rows [0] ["rep_time_to"]);

я получаю: 04/07/2010 9:00:00 PM

Как вы можете видеть, это значение является правильным, за исключением даты.

Почему я должен это делать, чтобы получить правильное значение, которое является 2010-06-28 21:00:00?

Заранее спасибо.

новичок программист!

+0

Что такое 'ds.Tables [0] .Rows [0] [" rep_time_to "]' перед вызовом * convert *? Возможно, попробуйте изменить время в БД, например, 21:38:17 и посмотрите, что читает ваша программа. Это правильная ячейка? – tanascius

+0

Работает для меня .. Вы пробовали просто hardcoding, как DateTime endShift = Convert.ToDateTime ("2010-06-28 21:00:00")? – simendsjo

+1

Вы проверили данные, которые были возвращены, чтобы подтвердить, что «2010-06-28 21:00:00» на самом деле хранится? – Josh

ответ

0

Некоторые вопросы:

  1. Что текущий culturecode
  2. Почему вы хранить дату не как DateTime или эквивалент?
  3. Каков фактический тип поля?

Некоторые советы: 1. Преобразуйте значение db в строку, если она еще не указана. 2. Попробуйте DateTime.Parse 3. Измените свое поле БД на datetime или его эквивалент, чтобы избежать преобразования.

Смежные вопросы