![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Medved |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Давно хотел написать, да все как-то не удавалось.
Вообщем была такая ситуация, разрабатывал программу, работала она с БД. Для модификации данных использовал SQL запросы, зашитые в самой программе. ну например (MS SQL):
Возьмем для примера текущую дату - '04.09.2003'. В результате выполнения этого запроса данные сохраняются. Но если в системных настройках краткий формат даты стоит как 'dd.mm.yy' то при этом записшется в базу дата в слудующем виде -'04.09.0003'. В результате при отображении этих данных в любом DBGrid-е выскакивает ошибка "Произошла ошибка при выполнении многошаговой операции" и все, програ виснет намертво. Если краткий формат даты стоит как 'dd.mm.yyyy', тогда все нормально, и все работает. Так вот, чтобы избежать этого, рекомендую использовать не DateToStr (или DateTimeToStr) а функцию FormatDateTime. В итоге код будет выглядет так:
И это позволит избежать вышепреведенной ошибки, а так же многих других. -------------------- |
||||
|
|||||
| gray_k |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1015 Регистрация: 9.1.2003 Где: Москва Репутация: 3 Всего: 22 |
можно дедать так:
var: string ShortDateFormat begin ... lcShortDateFormat := ShortDateFormat; ShortDateFormat = 'dd.mm.yyyy'; {здесь проводим операции с НД} ShortDateFormat := lcShortDateFormat; ... end; -------------------- С уважением. Gray. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
Используй параметры, тогда этой проблемы не возникнет и сервер сам будет интерпретировать дату в нужном ему формате
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Да Вит, абсолютно с тобой согласен. Но случаи бывают разные.....
-------------------- |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: нет Всего: 41 |
Что за фигня, почему это сервер не понимает формат записи mm.dd.yy? Это же довольно стандарная запись. Во всяком случае в SELECT я использовал такой формат и без всяких CONVERT все работало нормально.
-------------------- Волны гасят ветер... |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Это зависит от настроек сервера.
-------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |