Написал программу, хранилище данных SQL Server 2000.
Доступ к SQL Server через Wondows Acount- все работало нормально.
Переписал программу с доступом к SQL Server через SQL Server Acount, и при чтении даты из таблицы началось выводиться сообщение:
"The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value"
Начал конвертить дату с помошью Format(date,"\#mm\/dd\/yyyy\#" )
Все стало нормально работать.
Начал писать другой клиентский модуль под эту же базу. Все делал так же.
Но опять стали выпадать сообщения.
При чтении столбца начал конвертить дату так Format(date,"mm\/dd\/yyyy" )
Все стало работать нормально.
Потом не помню, то ли я начал еще что-то писать, то в этой же программе, но вобщем опять стало выдаваться сообщение.
Я убрал эту конверацию, т.е. вернул в первому варианту.
Все стало работать нормально.
Короче я не могу найти причину....
От способа соединения к базе я думаю это не зависит, хотя проблемы именно с тех пор и появились...
Помогите, задолбался уже....
Ячейки в таблице тип datetime, все кк обычно.
Запись в базу:
set rs1 = cn1.Execute("update TABLE set Date_Coll = '" & date & "'")
Вы писали 20 мая 2004 г., 14:23:23:
nt> Проблема с конвертациец даты в SQL ServerОценить
Вроде на сколько я знаю формат даты в SQL Server'e такой mm-dd-yyyy
Здравствуйте, new-traum, Вы писали:
NT>Написал программу, хранилище данных SQL Server 2000. NT>Доступ к SQL Server через Wondows Acount- все работало нормально. NT>Переписал программу с доступом к SQL Server через SQL Server Acount, и при чтении даты из таблицы началось выводиться сообщение: NT>"The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value"
NT>Начал конвертить дату с помошью Format(date,"\#mm\/dd\/yyyy\#" ) NT>Все стало нормально работать.
NT>Начал писать другой клиентский модуль под эту же базу. Все делал так же. NT>Но опять стали выпадать сообщения.
NT>При чтении столбца начал конвертить дату так Format(date,"mm\/dd\/yyyy" ) NT>Все стало работать нормально.
NT>Потом не помню, то ли я начал еще что-то писать, то в этой же программе, но вобщем опять стало выдаваться сообщение. NT>Я убрал эту конверацию, т.е. вернул в первому варианту. NT>Все стало работать нормально.
NT>Короче я не могу найти причину.... NT>От способа соединения к базе я думаю это не зависит, хотя проблемы именно с тех пор и появились... NT>Помогите, задолбался уже....
NT>Ячейки в таблице тип datetime, все кк обычно. NT>Запись в базу: NT>set rs1 = cn1.Execute("update TABLE set Date_Coll = '" & date & "'")
У SQL SERVERA есть универсальный форматЮ по словам MicroSoft, yyyymmdd — без разделителей, времени yymmdd hh:mm:ss
Здравствуйте, new-traum, Вы писали:
NT>Ничего из перечисленного не помогло.
NT>Ерунда какая-то.... NT>Столько времени уже потерял. просто стыдно сказать...
Попробуй set rs1 = cn1.Execute("update TABLE set Date_Coll = Cast(" + _
Format(DateVal, "\'yyyymmdd\'") + " as datetime)
Здравствуйте, DarkSid, Вы писали:
DS>Здравствуйте, new-traum, Вы писали:
NT>>Ничего из перечисленного не помогло.
NT>>Ерунда какая-то.... NT>>Столько времени уже потерял. просто стыдно сказать... DS> Попробуй set rs1 = cn1.Execute("update TABLE set Date_Coll = Cast(" + _ DS> Format(DateVal, "\'yyyymmdd\'") + " as datetime)
DS>У меня все прошло, да и проходило всегда
Прокатило, спасибо большое...
Круто, почему я раньше не знал о такой функции?
Надо учиться,учиться, учиться
Опять какя-то ерунда, теперь пишет Incorrect sysnax near '.2004'
set rs1 = cn1.Execute("update Table set Date_Col = Cast(" & Date & " as datetime)")
Обрезает дату.
Обычно я когда раньше делал update то я дату брал в ковычки...
set rs1 = cn1.Execute("update Table set Date_Col = '" & Date & "'")
Было все нормально..
А если взять строчку с Cast и поставить в ковычки то будет опять ошибка..
set rs1 = cn1.Execute("update Table set Date_Col = 'Cast(" & Date & " as datetime)"'")
Здравствуйте, new-traum, Вы писали:
NT>Все нормально только когда формат "\'yyymmdd\'"
Это стандартый формат MicroSoft. Они сами его советуют, смотри Bool On-line Applications using other APIs, or Transact-SQL scripts, stored procedures, and triggers, should use the unseparated numeric strings (for example, yyyymmdd as 19980924).
Этот формат не зависит ни от регинальных характеристик ни от других залепух. У меня это работает в России, Германии, Франции. Венгрии, Штатах и Англии. Так что используй так. Остальное нужно форматировать с учетом региональных характеристик и настроеек SQL servera. Успехов
Здравствуйте, DarkSid, Вы писали:
DS>Здравствуйте, new-traum, Вы писали:
NT>>Все нормально только когда формат "\'yyymmdd\'" DS> Это стандартый формат MicroSoft. Они сами его советуют, смотри Bool On-line DS>Applications using other APIs, or Transact-SQL scripts, stored procedures, and triggers, should use the unseparated numeric strings (for example, yyyymmdd as 19980924). DS>Этот формат не зависит ни от регинальных характеристик ни от других залепух. У меня это работает в России, Германии, Франции. Венгрии, Штатах и Англии. Так что используй так. Остальное нужно форматировать с учетом региональных характеристик и настроеек SQL servera. Успехов
Я тоже хочу чтобы у меня программы работали в разных странах..
Как подрядиться на такое...
Я правда не много знаю..
Здравствуйте, new-traum, Вы писали:
NT>Здравствуйте, DarkSid, Вы писали:
DS>>Здравствуйте, new-traum, Вы писали:
NT>>>Все нормально только когда формат "\'yyymmdd\'" DS>> Это стандартый формат MicroSoft. Они сами его советуют, смотри Bool On-line DS>>Applications using other APIs, or Transact-SQL scripts, stored procedures, and triggers, should use the unseparated numeric strings (for example, yyyymmdd as 19980924). DS>>Этот формат не зависит ни от регинальных характеристик ни от других залепух. У меня это работает в России, Германии, Франции. Венгрии, Штатах и Англии. Так что используй так. Остальное нужно форматировать с учетом региональных характеристик и настроеек SQL servera. Успехов
NT>Я тоже хочу чтобы у меня программы работали в разных странах.. NT>Как подрядиться на такое... NT>Я правда не много знаю..
Повезло чуть-чуть, но сейчас я ушел с той фирмы, разошлись с генеральным в направлениях развития комплекса. Но программы, как работали так и работают, пока их не обновляют на новые версии, написаннные другими программистами, которые пришли вместо меня( а взяли на одно мое место их 8 человек), так что клиенты периодически звонят, сотовый то я поменял, так что утилитками их снабжаю. Но сейчас работаю только на Российский рынок. Поддержим отечественного производителя