Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: CL | DM;

Вниз

Поле типа TTime в IB.   Найти похожие ветки 

 
off ©   (2003-04-03 07:19) [0]

Возникла такая проблема - есть необходимость добавить время в поле типа TTime.
Пишу IBDataSet1TIMEEVID.Value:=StrToTime("10:11:02");
при этом получаю следующую ошибку : ""0.36662000" is not a valid timestamp"
Тогда возникает вопрос: какой таймстамп из валид?


 
off ©   (2003-04-03 07:36) [1]

Эй мастера!!!!!!!!! Ау-у-у-у-у-.... Где же вы? Anatoly Podgoretsky? Соловьев? Mike Goblin?


 
Rol   (2003-04-03 08:39) [2]

строкой и вноси... зачем же ты в Double переводишь-то?


 
off ©   (2003-04-03 09:07) [3]

В смысле, переопределить тип поля на строковый?


 
off ©   (2003-04-03 09:25) [4]

А зачем?
> IBDataSet1TIMEEVID.Value:=StrToTime("10:11:02");
я ведь только для примера написал, чтобы понятно было в каком формате вывожу данные. Даже если написать
IBDataSet1TIMEEVID.Value:=now все равно ничего не получается


 
Johnmen ©   (2003-04-03 09:36) [5]

IBDataSet1TIMEEVID.AsDateTime:=now


 
ЮЮ ©   (2003-04-03 09:38) [6]

now и StrToTime("10:11:02") имеют тип TDateTime,
а IBDataSet1TIMEEVID.Value - что-то родственное timestamp

Надо что-то вроде этого:
IBDataSet1TIMEEVID.Value := "20021110";
или
IBDataSet1TIMEEVID.asDate :=


 
off ©   (2003-04-03 09:43) [7]

Так я про что и спрашивал какой timestamp. Т.е в каком виде мне передавать значенгия?
Кстати предложенные варианты не помогают :-(


 
Соловьев ©   (2003-04-03 09:47) [8]


> Эй мастера!!!!!!!!! Ау-у-у-у-у-.... Где же вы? Anatoly Podgoretsky?
> Соловьев? Mike Goblin?

рановато меня к в один ранг зачислили....

Какого типа поле TIMEEVID у тебя в базе


 
Johnmen ©   (2003-04-03 09:53) [9]

что-то родственное timestamp есть тип SQLTimeStamp, т.е. пробуй
IBDataSet1TIMEEVID.AsSQLTimeStamp:=DateTimeToSQLTimeStamp(now);


 
off ©   (2003-04-03 11:18) [10]

>Johnmen ©
интересная вещь получается в хэлпе DateTimeToSQLTimeStamp procedure есть, а при компиляции выдает Undeclared Identifier DateTimeToSQLTimeStamp. Как лечить?


 
off ©   (2003-04-03 11:24) [11]

>Соловьев ©
Я здесь человек новый и о ранге сужу не по заслугам перед отечеством, а по количеству дельных ответов на любые вопросы (свои и чужие, умные и как у меня).
А поле у меня цитирую SQL из IBConsole:

CREATE TABLE "EVIDCELL"
(
.............
"TIMEEVID" TIME,
.............
)


 
Johnmen ©   (2003-04-03 11:24) [12]

uses SqlTimSt :) трудно это выяснить ????


 
off ©   (2003-04-03 11:33) [13]

Прости Johnmen, я только что с обеда и вся кровь как полагается в желудке. Мозги же испытывают кислородное голодание ==> соображаю гораздо медленнее.
Спасибо за подсказку, но все же от ошибки это не спасло. Теперь получил "Cannot access field "TimeEvid" as type SQLTimeStamp."


 
Johnmen ©   (2003-04-03 11:40) [14]

>off © (03.04.03 11:33)
>Прости Johnmen, ...

Не понял, за что :))))

>...все же от ошибки это не спасло

Лично я с 3 диал-ом не работаю. Поэтому экспериментируй сам...
Пробуй AsDateTime, пробуй явно прописать тип параметра, пробуй явное приведение типа...


 
Александр С. ©   (2003-04-03 13:54) [15]

все работаетprocedure TForm1.Button1Click(Sender: TObject);
begin
IBTransaction1.StartTransaction;
try
IBQuery1.Params[0].AsString := Edit1.Text;
IBQuery1.Params[1].AsTime := DateTimePicker2.Time;

IBQuery1.ExecSQL;
IBTransaction1.Commit;
except
IBTransaction1.Rollback;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
IBTransaction1.StartTransaction;
try
IBQuery1.Params[0].AsString := Edit1.Text;
IBQuery1.Params[1].AsTime := Time;
IBQuery1.ExecSQL;
IBTransaction1.Commit;
except
IBTransaction1.Rollback;
end;
end;


 
off ©   (2003-04-03 14:07) [16]

А вот если не ч/з IBQuery?


 
Tomkat ©   (2003-04-03 14:58) [17]

сам столкнулся с проблемой - переводил базу в 3 диалект -
TIMESTAMP - если в поле указано и дата и время ...
TIME - только время
DATE - только дата
у себя лечил таким образом :
IBDataSet.FieldByName("Data").asDateTime:=now() ;


 
off ©   (2003-04-03 21:10) [18]

Спасибо Tomkat, обязательно попробую. Думаю должно получиться, если не получиться, то буду делать через параметр.


 
off ©   (2003-04-04 13:57) [19]

>Tomkat
Пишу: IBDataSet1.FieldByName("TIMEEVID").AsDateTime:=Table10TimeEvid.Value; выдает тоже самое, что получалось если просто написать IBDataSet1TIMEEVID.Value:=Table10TimeEvid.Value;



Страницы: 1 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.013 c
6-77043
Serhij H.
2003-02-27 23:01
2003.04.24
Proxy для WebBrowser


14-77103
sucer
2003-04-04 15:56
2003.04.24
Кто подсажет компоненты(пимеры) для наведения красоты на форме


1-76948
Top Gun
2003-04-12 16:49
2003.04.24
Переименовка модуля


7-77196
velk
2003-03-06 08:31
2003.04.24
Как перехватить все задания на печать


3-76769
BorisUK
2003-04-04 08:48
2003.04.24
MIDAS - очень нужно узнать!!