![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поле типа TTime в IB. [D6, IB6.x]
off © (2003-04-03 07:19:00)Возникла такая проблема - есть необходимость добавить время в поле типа TTime.
ПишуIBDataSet1TIMEEVID.Value:=StrToTime("10:11:02");
при этом получаю следующую ошибку : ""0.36662000" is not a valid timestamp"
Тогда возникает вопрос: какой таймстамп из валид?
off (2003-04-04 13:57:00) [1]>Tomkat
Пишу:IBDataSet1.FieldByName("TIMEEVID").AsDateTime:=Table10TimeEvid.Value;выдает тоже самое, что получалось если просто написатьIBDataSet1TIMEEVID.Value:=Table10TimeEvid.Value;
off (2003-04-03 21:10:00) [2]Спасибо Tomkat, обязательно попробую. Думаю должно получиться, если не получиться, то буду делать через параметр.
Tomkat (2003-04-03 14:58:00) [3]сам столкнулся с проблемой - переводил базу в 3 диалект -
TIMESTAMP - если в поле указано и дата и время ...
TIME - только время
DATE - только дата
у себя лечил таким образом :
IBDataSet.FieldByName("Data").asDateTime:=now() ;
off (2003-04-03 14:07:00) [4]А вот если не ч/з IBQuery?
Александр С. (2003-04-03 13:54:00) [5]все работает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;
Johnmen (2003-04-03 11:40:00) [6]>off © (03.04.03 11:33)
>Прости Johnmen, ...
Не понял, за что :))))
>...все же от ошибки это не спасло
Лично я с 3 диал-ом не работаю. Поэтому экспериментируй сам...
Пробуй AsDateTime, пробуй явно прописать тип параметра, пробуй явное приведение типа...
off (2003-04-03 11:33:00) [7]Прости Johnmen, я только что с обеда и вся кровь как полагается в желудке. Мозги же испытывают кислородное голодание ==> соображаю гораздо медленнее.
Спасибо за подсказку, но все же от ошибки это не спасло. Теперь получил "Cannot access field "TimeEvid" as type SQLTimeStamp."
Johnmen (2003-04-03 11:24:00) [8]uses SqlTimSt :) трудно это выяснить ????
off (2003-04-03 11:24:00) [9]>Соловьев ©
Я здесь человек новый и о ранге сужу не по заслугам перед отечеством, а по количеству дельных ответов на любые вопросы (свои и чужие, умные и как у меня).
А поле у меня цитирую SQL из IBConsole:
CREATE TABLE "EVIDCELL"
(
.............
"TIMEEVID" TIME,
.............
)
off (2003-04-03 11:18:00) [10]>Johnmen ©
интересная вещь получается в хэлпе DateTimeToSQLTimeStamp procedureесть, а при компиляции выдает Undeclared Identifier DateTimeToSQLTimeStamp. Как лечить?
Johnmen (2003-04-03 09:53:00) [11]что-то родственное timestamp есть тип SQLTimeStamp, т.е. пробуй
IBDataSet1TIMEEVID.AsSQLTimeStamp:=DateTimeToSQLTimeStamp(now);
Соловьев (2003-04-03 09:47:00) [12]
> Эй мастера!!!!!!!!! Ау-у-у-у-у-.... Где же вы? Anatoly Podgoretsky?
> Соловьев?Mike Goblin?
рановато меня к в один ранг зачислили....
Какого типа поле TIMEEVID у тебя в базе
off (2003-04-03 09:43:00) [13]Так я про что и спрашивал какой timestamp. Т.е в каком виде мне передавать значенгия?
Кстати предложенные варианты не помогают :-(
ЮЮ (2003-04-03 09:38:00) [14]now и StrToTime("10:11:02") имеют тип TDateTime,
а IBDataSet1TIMEEVID.Value - что-то родственное timestamp
Надо что-то вроде этого:
IBDataSet1TIMEEVID.Value := "20021110";
или
IBDataSet1TIMEEVID.asDate :=
Johnmen (2003-04-03 09:36:00) [15]IBDataSet1TIMEEVID.AsDateTime:=now
off (2003-04-03 09:25:00) [16]А зачем?
>IBDataSet1TIMEEVID.Value:=StrToTime("10:11:02");
я ведь только для примера написал, чтобы понятно было в каком формате вывожу данные. Даже если написать
IBDataSet1TIMEEVID.Value:=nowвсе равно ничего не получается
off (2003-04-03 09:07:00) [17]В смысле, переопределить тип поля на строковый?
Rol (2003-04-03 08:39:00) [18]строкой и вноси... зачем же ты в Double переводишь-то?
off (2003-04-03 07:36:00) [19]Эй мастера!!!!!!!!! Ау-у-у-у-у-.... Где же вы? Anatoly Podgoretsky? Соловьев? Mike Goblin?