проблема формата даты с asp.net и сервером sql - PullRequest
0 голосов
/ 17 ноября 2011

когда я вставляю данные в базу данных sql server 2008 через дату приложения asp.net, вставленную в базу данных в следующем формате

"10 июня 2011"

это неправильно, и мне нужно вставить формат "дд / мм / гггг" или "гггг / мм / дд". Почему это происходит

Ответы [ 5 ]

1 голос
/ 17 ноября 2011

Если ваш тип данных на стороне базы данных - datetime или date (на sql server 2008), не должно иметь значения, вставляете ли вы дату как '10 june 2011' или как '6/10/2011' или как '2011-06-10'. Если вы видите, что данные фактически отображаются как '10 June 2011', это более вероятно, потому что ваш тип данных varchar или nvarchar. Если это так, и поле предназначено только для хранения дат, я бы посоветовал вам изменить тип данных на datetime или date.

0 голосов
/ 17 ноября 2011

Тип столбца таблицы был Nvarchar, поэтому он сохраняет данные в указанном выше формате, что неверно.Запустив следующее, я решил свою проблему

SET DATEFORMAT DMY;

ALTER TABLE #tmpTest ALTER COLUMN MyCol DATE;
0 голосов
/ 17 ноября 2011

Этот блог поможет вам установить формат даты по умолчанию для sql-server 2008.

http://blogs.msdn.com/b/sqlserverfaq/archive/2009/11/13/how-to-change-date-format-after-installing-sql-server.aspx

0 голосов
/ 17 ноября 2011

Просто попробуйте эту ссылку .Это показывает руководство по использованию форматов даты, как вы хотите, прежде чем выбрать или вставить дату, вызвав встроенный в SQL Server функции

0 голосов
/ 17 ноября 2011

Используйте метод DateTime.TryParseExact() для разбора даты.

string inputDate="10 June 2011";
string []format ={ "dd MMMM yyyy","dd MMM yyyy"};
DateTime date;

if (DateTime.TryParseExact(inputDate, format, CultureInfo.InvariantCulture, 
                           DateTimeStyles.None, out date))
 {
     Console.WriteLine("Valid " + date);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...