Рейтинг:
2
phil.o
Если вы используете тип данных datetime в SQL, он не имеет понятия о формате. Он просто хранит информацию datetime в виде числового значения, формат становится релевантным только при представлении данных конечному пользователю; таким образом, в ASP.NET сбоку.
Если вы храните значения datetime в виде строки, то вы не используете правильный тип данных и рано или поздно столкнетесь с рядом трудностей. Вам следует изменить это как можно скорее или быть готовым к плохим результатам ваших запросов по фильтрации/группировке полей даты. Если вы все еще не хотите использовать правильный тип данных, то вам придется сопоставить формат в базе данных с форматом самого файла. ParseExact
метод. В этом случае попробуйте
DateTime fromDate = DateTime.ParseExact(date, "yyyy/MM/dd", CultureInfo.InvariantCulture);
вместо.
mtufail
В SQL server я использую тип данных date.
Когда я использую формиат "гггг/ММ/ДД", он показывает ошибку как до, так и после 12-й даты
когда я использую формиат "ДД/ММ/гггг", он показывает ошибку после даты 12 и отлично работает на или до даты 12
phil.o
Затем используйте формат "MM/dd/yyyy" для ParseExact.
Richard Deeming
Если вы используете date
тип данных в SQL, то вам не нужно использовать Parse
или ParseExact
вообще. Вы можете просто привести возвращаемое значение непосредственно к a DateTime
.
mtufail
когда я использую "ММ/ДД/гггг", он работает на 12 или раньше, но не показывает данные и выдает ошибку после 12 даты.
Когда я использую "ДД/ММ/гггг", он отлично работает на 12-й дате или до нее, а также показывает данные, но выдает ошибку после 12-й даты.
mtufail
"dd/MM/yyyy" отлично работает на локальном сервере, а также отлично работает, когда я использую ip-адрес sql server, имя пользователя и пароль непосредственно с моим приложением. он показывает ошибку в прямом эфире после даты 12
phil.o
Пожалуйста, покажите сообщение об ошибке, а также строку кода, вызывающую его.
Рейтинг:
2
Vijay Ahlawat
В коде нет никаких проблем.
Проблема заключается в том, что локальная машина и сервер имеют разный формат даты и времени.
Пожалуйста, измените формат datetime для вашего сервера в качестве локальной машины, тогда код будет работать нормально.
Проблема в том, что сервер рассматривает ваш день как месяц, и это происходит из-за другого формата даты и времени.