2013-04-30 3 views
-3

У меня проблема с форматом даты. Поле даты, имеющее значение в базе данных, равно «NULL». Но когда я извлекаю данные с помощью запроса [C# .net], значение отображается как «0001-01-01T05: 30: 00 + 05: 30». Это происходит только на нескольких машинах.Ошибка формата даты в наборе данных C#

Пожалуйста, найдите различные результаты из набора данных SQL Server и C#.

SQL вывода [Результаты, полученные при запросе выполняется в базе данных]

PART_NO     END_OF_LIFE 
-------------------------------------- 
003992611-FN    NULL 

Данные в Dataset

PART_NO     END_OF_LIFE 
-------------------------------------- 
003992611-FN    0001-01-01T05:30:00+05:30 
+0

Можем ли мы увидеть код? – mgnoonan

+2

Неиалинизованная дата представлена ​​в 01/01/0001 в системе. Вам нужно будет обработать логику, чтобы установить дату на что-то другое, если дата равна null из базы данных. http://msdn.microsoft.com/en-us/library/system.datetime(v=vs.71).aspx –

ответ

5

Похоже, что это на самом деле просто DateTime.MinValue, с поправкой на местный часовой пояс , Вы не указали какой-либо код, который вы используете для доступа к данным, но я бы ожидал, что если вы используете тип DateTime? в любом приличном ORM или нам DataRow.IsNull, если вы используете простой DataTables и т. Д., То вы должен иметь возможность обнаруживать нулевые значения без проблем.

+0

@ user2335667: Я не вижу, как этот комментарий предназначен для помощи ... –

+0

Hi Jon ... Пожалуйста, смотрите мою структуру таблицы и коды // CREATE TABLE DATE_TEMP (PART_NO VARCHAR (40), END_OF_LIFE SMALLDATETIME) // INSERT INTO DATE_TEMP VALUES ('003992611-FN', NULL) SELECT PART_NO, END_OF_LIFE ОТ DATE_TEMP – user2335667

+0

@ user2335667: Это просто SQL. Мы по-прежнему не знаем, как выглядит ваш код на C#. Измените свой вопрос (а не добавьте комментарий), чтобы сделать его более понятным. –

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