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

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

Работа с полем типа Time (firebird 1.5) через компоненты InterBas [D6, FIREBIRD 1.5]


AVP_opck ©   (2004-04-02 06:31:00) 

Есть у меня одна табличка в которой есть поля типа Time.
На форме расположил DBGRID, DBNavigator,DataSource, IbDataset, Ibdatabase, Ibtransaction. Все это связал
и пытаюсь добавить запись через грид и навигатор. пишу время
в том виде который он мне предлагает например 12:00:00.
Однако при записи (Post) говорит.
Project Project1.exe raised exception class EConvertError with message ''0.28800000' is not a valid timestamp'
В чем дело ?
В Ibdataset поля типа Time имеют тип TTimeField.
Помоему проблема в этом но как боротся?


makz   (2004-04-02 08:53:00) [1]

Что-то ты делал все-таки нехорошее. Попробуй в field editor'e удалить это поле и заново добавить. И в гриде если колонки вручную добавлял, тоже удали-добавь.


AVP_opck   (2004-04-02 08:42:00) [2]

update "1GRAFIK"
set
 ID = :ID,
 MES = :MES,
 NAMEID = :NAMEID,
 SMENA = :SMENA,
 DAYY = :DAYY,
 NACH = :NACH,
 KON = :KON,
 OBED = :OBED
where
 ID = :OLD_ID


makz   (2004-04-02 08:37:00) [3]

Там в IbDataset-в ModifySQL, что написано?


AVP_opck   (2004-04-02 08:17:00) [4]

вот скрипт который базу сосздает
СREATE TABLE 1GRAFIK (
   ID      D_ID /* INTEGER NOT NULL */ NOT NULL,
   MES     D_INT /* INTEGER */,
   NAMEID  D_ID /* INTEGER NOT NULL */,
   SMENA   D_INT /* INTEGER */,
   DAYY    D_INT /* INTEGER */,
   NACH    D_TIME /* TIME */,
   KON     D_TIME /* TIME */,
   OBED    D_TIME /* TIME */
);
а вот домен который к полям типа Time применяется
CREATE DOMAIN D_TIME AS
TIME


makz   (2004-04-02 08:05:00) [5]

Если и впрямь TimeStamp введити что-то типа "02.01.03 12:12:00"


makz   (2004-04-02 08:05:00) [6]

Если и впрямь TimeStamp введи что-то типа "02.01.03 12:12:00"


makz   (2004-04-02 08:01:00) [7]

В базе можно посмотреть, что за поле?


AVP_opck   (2004-04-02 07:57:00) [8]

Я это понимаю. но дело в том что в компоненте IBDataSET
этот тип TTimeField установился сам. там нету типа TTimeStampField.


makz   (2004-04-02 07:49:00) [9]

Timestamp - это дата + время. Следовательно тип TTimeField - не совсем то, что требуется.


AVP_opck   (2004-04-02 07:33:00) [10]

возможно. называется оно просто Time
судя по всему оно timestamp. но че дальше делать?


makz   (2004-04-02 07:28:00) [11]

Так поле в базе timestamp, а не time.


Наверх

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