Вниз
Скачать: CL | DM;

Сервер и время   Найти похожие ветки 

 
Kabazoo   (2006-01-21 02:17) [0]

Народ , вопрос следующий ...

Есть база на firebird ...
В одной из таблиц есть поле типа TIME

В клиентском приложении при добавлении записи в таблицу в соответствуещее поле заносится время добавления записи ...

Вопрос: Если ли какая нють функция , которая позволила бы узнать и записать в таблицу текущее время на самом сервере БД , а не на локальной машине ???


 
Fay ©   (2006-01-21 04:04) [1]

2 Kabazoo   (21.01.06 2:17)
CURRENT_TIME, что ли?


 
mr.il ©   (2006-01-21 07:41) [2]

в триггере BeforeInsert пишеш:
твое_поле.new = "now";


 
mr.il ©   (2006-01-21 09:17) [3]

Тока вроде-бы в двойных кавычках, а то он попытается как строку вставить.


 
Vemer ©   (2006-01-21 10:08) [4]

Зачем напрягать клиентскую часть, когда это можно делать автоматом на серваке.
Создай новое поле типа Тиме с опцией Default = Current_Time.
Сервер сам будет заносить туда время.
Если конечно ты не будешь пытаться редактировать его нa клиенте :).


 
Sergey Masloff   (2006-01-21 11:30) [5]

Vemer ©   (21.01.06 10:08) [4]
Как насчет случая когда сервер и клиент в разных часовых поясах?


 
Sergey Masloff   (2006-01-21 11:31) [6]

mr.il ©   (21.01.06 07:41) [2]
"NOW" устаревшая фича поддерживаемая для backward совместимости. Надо использовать CURRENT_XXX


 
Kabazoo   (2006-01-21 11:37) [7]

Vemer ©

Это время нельзя будет отредактировать позже(при необходимости) , я правильно понимаю ???


 
mr.il ©   (2006-01-21 11:56) [8]

Благодарю.


 
Anatoly Podgoretsky ©   (2006-01-21 12:15) [9]

Sergey Masloff   (21.01.06 11:30) [5]
Очень просто, не надо хранить в локальном времени, для этого использовать UTC


 
Vemer ©   (2006-01-21 12:24) [10]

To Sergey Masloff
автор пишет:
"текущее время на самом сервере БД , а не на локальной машине"

To Kabazoo
Имелось в виду открывать/редактировать во время вставки строки.
Потом можешь менять его как хочешь.
Только опять-же - если у тебя есть точное время выполнения операций по серверу - зачем его менять?


 
Sergey Masloff   (2006-01-21 13:35) [11]

Anatoly Podgoretsky ©   (21.01.06 12:15) [9]
>Очень просто, не надо хранить в локальном времени, для этого >использовать UTC
Да это понятно. Только знает ли сервер что за время у клиента?


 
Anatoly Podgoretsky ©   (2006-01-21 14:36) [12]

Sergey Masloff   (21.01.06 13:35) [11]
А ему и не надо знать, а то может что у двух рядом сидящих клиентов время может сильно отличаться. Время надо устанавливать на сервере и на клиенте (или на сервере) приводить к локальному. Тогда будет одназначность и точность.


 
Anatoly Podgoretsky ©   (2006-01-21 14:41) [13]

Примечание - может использоваться любое опорное время, не обязательно UTC, просто последнее системно и позиционно независимо. Каждый клиент будет видеть свое локальное время, а на сервер опорно. В случае использования UTC серверу не придется беспокоиться ни о времени клиента, ни о его часовом поясе. Если же время должно показываться в независимом формате и одинаково у всех клиентов, то используется системное время на обеих сторонах. Часто время в этом случае показывают в другой форме hh:mm:ss (аббревиатура и + смещене), для одназначности.


 
Sergey Masloff   (2006-01-21 15:53) [14]

Да я-то знаю. Просто хотел на это внимание обратить вопрошавшего ;-)



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.436 c
2-1140539041
Алексей Петухов
2006-02-21 19:24
2006.03.12
FastReport


10-1115197863
Phenix2005
2005-05-04 13:11
2006.03.12
Встраивание Excel в форму приложения


15-1139943369
-Dfcz-
2006-02-14 21:56
2006.03.12
Delphi 2006


2-1140767478
evgenij_
2006-02-24 10:51
2006.03.12
DBGrid.Option


3-1137372262
DimonS
2006-01-16 03:44
2006.03.12
Access +SQL




   Наверх