Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Добавление даты в базу данных
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Lisen'ok Lisen'ok вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.04.2008
По умолчанию Добавление даты в базу данных - 13.05.2009, 20:20

Здравствуйте. У меня возникла следующая проблема. Необходимо обновить дату в базе данных (Builder 6.0, ORACLE XE) В самой базе поле даты имеет формат DATE. Я обновляю следующим образом:

ADOQuery2->Close();
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("Update Проект Set Проект.Дата_Старта_Проекта='"+FormatDateTime("dd.m m.yyyy", DateTimePicker1->Date))"' "
ADOQuery2->ExecSQL();

В итоге , внося в DateTimePicker1 дату 12.05.2009 в бд это выглядит так: 20.05.0012 9:00:00

Объясните, в чем ошибка, что я делаю не так?
Ответить с цитированием
  (#2 (permalink)) Старый
Alexiski Alexiski вне форума
Любитель давать советы
 
Сообщений: 4,281
Сказал(а) спасибо: 27
Поблагодарили 54 раз(а) в 54 сообщениях
Регистрация: 16.10.2005
По умолчанию 14.05.2009, 11:42

Насколько я понимаю, у Вас в Oracle формат даты по умолчанию - в обратном порядке: yyyy.mm.dd
Чтобы не экспериментировать, используйте прямое преобразование:
UPDATE ... SET ... =TO_DATE('"+FormatDateTime("dd.mm.yyyy", DateTimePicker1->Date))+"','DD.MM.YYYY')
Ответить с цитированием
  (#3 (permalink)) Старый
Lisen'ok Lisen'ok вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.04.2008
По умолчанию 14.05.2009, 13:21

Огромное Вам спасибо! Теперь все верно!
Ответить с цитированием
  (#4 (permalink)) Старый
FataLL FataLL вне форума
Member
 
Аватар для FataLL
 
Сообщений: 1,783
Сказал(а) спасибо: 2
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 04.11.2004
По умолчанию 14.05.2009, 13:56

Работая с ADO, чтобы лишний раз не париться, и не вспоминать каких-либо функций преобразования и т.д., гораздо проще для универсальности использовать
Код:
UPDATE ... SET ... ='"+FormatDateTime("yyyymmdd", DateTimePicker1->Date))+"'"
Подходит для любых БД, с любой локализацией, хоть английской, хоть русской...
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление записи в базу данных Koshek .NET 0 27.05.2011 00:25
Добавление большого количества строк в базу данных caxaromires C++ Builder 7 05.03.2010 09:59
Добавление поля в dbf базу программно kelabod C++ Builder 0 09.09.2008 15:19
Добавление записи в базу данных LordMatrix C++ Builder 5 09.05.2006 08:48
Формат даты из базы данных в textbox Alex437 .NET 3 28.12.2005 11:01
Добавление записей в базу данных Echo ASP 2 06.07.2005 18:00
Перенос данных из текстового файла в базу данных Rrr C++ Builder 11 22.04.2005 10:13
Архитектура ИС сохранение данных в базу данных Dian Общие вопросы создания ПО 3 24.01.2005 18:48
Добавление данных в пустую базу данных 5lim Visual C++ 0 21.12.2004 01:53
Добавление записи в базу данных - есть вопрос imported_IskanDer Delphi 5 13.05.2004 10:01
Добавление записи в базу данных Paradox zo13 Другие СУБД 0 11.12.2003 13:44
Добавление записи в базу данных Paradox zo13 Visual C++ 0 11.12.2003 13:43



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов