Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.04.24;
Скачать: [xml.tar.bz2];

Вниз

Поле типа 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
1-76993
NA
2003-04-09 14:31
2003.04.24
Проект


14-77143
Шоломицкий
2003-04-08 18:16
2003.04.24
Помню была прога...


3-76821
kos
2003-03-31 19:56
2003.04.24
Автоинкримент


14-77160
Дмитрий К.К.
2003-04-09 06:35
2003.04.24
Именинники 9 апреля


7-77181
Frakt
2003-03-04 22:14
2003.04.24
ISA





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский