Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2015, 14:43   #1
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию Проблема с датами

Привет всем!
Подскажите как поменять формат даты в ms sql.
Спасибо.
Ernest027 вне форума Ответить с цитированием
Старый 29.06.2015, 14:52   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
поменять формат даты в ms sql
Зачем ?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.06.2015, 15:17   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для чего? Если для отображения, то не имеет смысла, ибо есть функции преобразования даты. Если для вставки, то тоже нет особого смысла.
А в целом в настройках БД по-моему есть такое свойство, но ИМХО оно настраивается до того как база создана.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.06.2015, 15:35   #4
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

в базе дата в формате YYYY-MM-DD, а в dbdateedit DD.MM.YYYY.
От этого постоянно ошибка '2015-06-29' is not a valid date and time
Ernest027 вне форума Ответить с цитированием
Старый 29.06.2015, 15:46   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Ernest027 Посмотреть сообщение
От этого постоянно ошибка '2015-06-29' is not a valid date and time
ОМГ!
Телепатирую - ошибка у Вас в другом.
Просто добавляйте дату в БД ПРАВИЛЬНО!!!! (Правильно - это через передачу даты в качестве параметра в параметрический запрос).
Все остальные танцы с бубном вокруг форматирования строкового представления - от лукавого!

Если ошибка возникает на этапе получения данных из БД, тогда показывайте свой запрос, который выступает в роли источника данных для DBDateEdit

Последний раз редактировалось Serge_Bliznykov; 29.06.2015 в 15:49.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 29.06.2015, 15:47   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Та то ж отображаемый формат. dbdateedit - это похоже RX-кий компонент? Не помню есть ли в нем настройка формата ввода. И еще можно ShortTimeFormat и DateSeparator под себя настроить. Можно в OnSetText поля преобразовать текст как нужно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.06.2015, 19:11   #7
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

Как понять "Правильно" вставлять дату?
Ernest027 вне форума Ответить с цитированием
Старый 29.06.2015, 22:38   #8
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

расскажите, в каком случае возникает ошибка?
отладчиком в коде нашли строку, где возникает ошибка?


Цитата:
Как понять "Правильно" вставлять дату?
я не ошибся, Вы пытаетесь ЗАПИСАТЬ новые данные в таблицу и при этом возникает ошибка? Тогда "Правильно" - это используя передачу даты в запрос в качестве ПАРАМЕТРА.


может быть, Вы выложите архив с исходникам проекта, будет проще говорить конкретно, а не гадать!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 30.06.2015, 12:54   #9
Ernest027
Форумчанин
 
Регистрация: 27.04.2015
Сообщений: 437
По умолчанию

вот моя программка.
спасибо за помощь
Вложения
Тип файла: rar DB in SQL.rar (173.6 Кб, 11 просмотров)
Ernest027 вне форума Ответить с цитированием
Старый 30.06.2015, 13:34   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

сейчас негде посмотреть. вечером посмотрю.
а Вы пока разберитесь, почему у Вас тип поля в ADOQuery неверный.

смотрите, у Вас есть ADOQuery3 ( 'select * from Zavod where OrganizationID=:OrganizationID') и ADOQuery4 ('select * from History where OborudovanieID=:OborudovanieID')

поля из этих запросов выбраны в DataSet. Но тип поля у дат стоит строковый!!!
Цитата:
Код:
    ADOQuery4Датазамеров: TWideStringField;
    ADOQuery4Датаследующихзамеров: TWideStringField;

    ADOQuery3Датазамеров: TWideStringField;
    ADOQuery3Датаследующихзамеров: TWideStringField;
Проверьте, какого тип эти поля в БД ( структура таблиц Zavod и History ).
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с датами antohaha Visual C++ 0 02.05.2012 17:44
работа с датами vladislav_m JavaScript, Ajax 0 05.05.2011 17:37
Проблема с датами WALL БД в Delphi 5 27.10.2010 10:25
Проблема при работе с датами sql server в delphi Fellot БД в Delphi 3 05.06.2010 22:50