0 голосов
спросил от в категории VB6
Всегда старайтесь использовать «однозначные даты» при передаче информации вокруг - особенно в базы данных и из них.

Что это значит? Это означает использование формата даты, который не может быть неверно истолкован независимо от того, в какой стране или часовом поясе вы находитесь, и какой язык используется.

Пример: 01/06/2016 будет 1 июня в Великобритании, но 6 января в США.

Вы довольно близки, потому что вы использовали формат dd MMM yyyy в качестве формата. Что хорошо на большинстве языков ... «27 февраля 2017» работает на английском, голландском, немецком и т. Д., Но на финском языке будет бессмысленным (финский язык для февраля - helmikuu). В наши дни нет ничего необычного в том, чтобы серверы SQL Server, размещенные в разных странах, были такими, где работает приложение. Также необычно, что пользователи из разных стран получают доступ к одной и той же базе данных SQL.

Существует два формата для дат, которые гарантированно будут работать для всех версий SQL Server. Используются также и для большинства других баз данных.
yy-MM-ddTHH24:mi:ss
and
yyyyMMdd HH24:mi:ss
Также стоит прочитать стандарт ISO для дат -
yy-MM-ddTHH24:mi:ss
# [
yyyyMMdd HH24:mi:ss
# ]

Если это не решит вашу конкретную проблему, тогда поставьте точку останова (F9) в строке
itmarr(1, 0) = Format(TxtDate.Text, "dd MMM yyyy")
и посмотрите содержимое TxtDate - вы Вероятно, вы обнаружите, что он не может быть отформатирован как дата вообще. Вы действительно должны добавить некоторую проверку или использовать элемент управления DatePicker.

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

Категории

Добро пожаловать на сайт DraftingCode Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...