Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Дата в IB [IB5.x]


SkyWalker ©   (2002-05-28 11:40:00) 

Как в запросе типа
insert into TRANS (ID,DETID,IP,DATETIME)
values (-1,584,"192.168.101.121", <дата>)

указывать значение <дата>?


Alexandr   (2002-05-28 12:34:00) [1]

наверное. Про формат не забудь.


SkyWalker   (2002-05-28 12:29:00) [2]

понятно, для того, чтоб получить это строку нужно использовать
DateTimeToStr?


Alexandr   (2002-05-28 12:25:00) [3]

"21.12.2000 12:56:48"

так понятно?

А через параметр само пройдет


SkyWalker   (2002-05-28 12:20:00) [4]

пардон, еще вопрос, а как туды время втиснуть, ведь это же только дата?
а я читал, что Date в IB это дата и время вместе


Alexandr   (2002-05-28 12:19:00) [5]

дык


SkyWalker   (2002-05-28 12:16:00) [6]

всем большое спасибо, разобрался :)


data   (2002-05-28 12:08:00) [7]

1) Попробуте поставить дату в одинарные кавычки
2) Лучше все таки передвать как параметр
QuCom.Clear;
QuCom.SQL.Add("INSERT INTO TRANS (ID,DETID,IP,DATETIME)");
QuCom.SQL.Add("VALUES (-1,:DETID,:IP,:DATETIME)");
QuCom.ParamByName("DETID").AsInteger:=DetID;
QuCom.ParamByName("IP").AsString:=....;
QuCom.ParamByName("DATETIME").AsDateTime:=Now;
или
QuCom.ParamByName("DATETIME").AsDate:=Date;
try
QuCom.ExecSQL;
except
....
end;
3) Еще может ругаться на название поля таблицы DATETIME. Я бы такое название не использовала.


Alexandr   (2002-05-28 12:01:00) [8]

а вот как должно быть для Interbase (ему на твои региональные настройки на твоем компе фиолетово.
--------------------------------------------------------
существует стандарт на разделители. / используется для MM/DD/YYYY. Точка
используется для DD.MM.YYYY. Тире используется для формата DD-MMM-YYYY,
где MMM - строковое представление месяца из трех букв, например JAN, FEB и т.д.
--------------------------------------------------------

а у тебя не так.

P.S. А в твоем случае, мож проще через параметр, чем каждый раз после изменения запроса ему prepare будет делаться?


Johnmen   (2002-05-28 11:59:00) [9]

вместо DateToStr(Date) -> FormatDateTime("dd.mm.yyyy",Date);

IB (и я вместе с ним) не знает такого формата yyyy/mm/dd


skywalker   (2002-05-28 11:47:00) [10]

вот код, он не прокатывает:
DateSeparator:=".";
ShortDateFormat:="yyyy/mm/dd";
QuCom.SQL.Text:="insert into TRANS (ID,DETID,IP,DATETIME) "+
"values (-1,"+IntToStr(DetID)+",""+
Socks[GetSockOrder(TrsTmOrd].RemSock)].IP+"",""+
DateToStr(Date)+"")";


Alexandr   (2002-05-28 11:44:00) [11]

самое простое и надежное - через параметр, хотя можно и в кавычках стрингом, от разделителя . или - или / будет зависеть формат даты


Наверх

Титульная страница Поиск, карта сайта Написать письмо