Я использую SqlBulkCopy для сохранения листа Excel только для чтения в предопределенной таблице SQL.
В листе есть несколько столбцов даты, но не все строки имеют значения даты (пустые и «#»).
Соответствующие типы столбцов - varchar (20), а не smalldatetime, потому что в противном случае я получаю сообщение об ошибке, что данные не могут быть преобразованы.
После запуска SqlBulkCopy даты сохраняются как числовые значения в шаблоне, который я не могу понять.
Например:
31.12.2010 сохраняется как 40543
31.13.2011 сохраняется как 40908
30.6.2011 сохраняется как 40724
Теперь я должен представить дату в веб-формах. Числовые значения меня не беспокоят, пока я могу преобразовать их обратно в формат даты для представления в GridView, но я не знаю, как это сделать.
Был бы признателен за любую помощь в этом.
Я использовал следующее:
DateTime.FromOADate(num).ToShortDateString();
где num - числовое значение даты
Попробуйте запустить этот запрос:
SELECT CAST(CAST(YourVarcharDateColumn AS int) AS DateTime) FROM YourTable