|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.06.2009, 03:34 | #1 |
Форумчанин
Регистрация: 01.12.2007
Сообщений: 346
|
Время сервера
Есть клиент который работает с БД, к которму имеют доступ люди из разных часовых поясов, не говоря о не синхронизированном времени большенства пользователей даже в пределах одного пояса. Соответственно при добавлении записей в одну БД если использовать локальное время произойти могут страшные вещи, по этому нужно как то сделать так что бы в новую строку добавлялась время сервера, а не каждого клиента свое.
База MS SQL.
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru |
26.06.2009, 08:15 | #2 |
Форумчанин Подтвердите свой е-майл
Регистрация: 01.12.2006
Сообщений: 514
|
у оракла есть такая функция sysdate, она возвращает дату и время, может есть аналоги, но можно как вариант, создать таблицу с одним полем типа дэйттайм и периодически вносить туда дату и время, а с клиентов считывать
Пишу на Delphi за еду
|
26.06.2009, 09:46 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
а в MS SQL есть системная функция Current_Timestamp (или, что тоже самое - Getdate() )
достаточно использовать это в SELECT / INSERT чтобы получить текущие дату и время с сервера... добавлено. а может ещё сделать значение нужного столбца текущим датой/времене как Default, ещё при создании таблицы. вот, цитирую из MSDN: Цитата:
Последний раз редактировалось Serge_Bliznykov; 26.06.2009 в 10:00. Причина: добавлен синоним для функции. Ещё добавлен пример для Create Table |
|
30.06.2009, 01:07 | #4 |
Форумчанин
Регистрация: 01.12.2007
Сообщений: 346
|
Так работает, но при вставке из самого Microsoft SSMS, можно ли как нибудь добавлять теперь это дефаултное значение программно, примерно так:
Код:
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru |
30.06.2009, 12:36 | #5 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
|
30.06.2009, 16:49 | #6 |
Форумчанин
Регистрация: 01.12.2007
Сообщений: 346
|
Там есть еще два поля, при чем поле "Время" ключевое, если делаю так:
Код:
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru |
30.06.2009, 17:33 | #7 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
если делать через запрос типа
Код:
чтобы сделать то же самое через компонент, нужно чтобы компонент умел возвращать с сервака значения ключевых полей/сиквенсов а "Время" ключевое - это праймари? |
30.06.2009, 19:15 | #8 |
Форумчанин
Регистрация: 01.12.2007
Сообщений: 346
|
Надо полагать, что компонент TADOTable не умеет возвращать с сервака значения ключевых полей/сиквенсов?
Все, спасибо решил проблему использовав ADOQuery и ExecSQL. Правда появилась новая но это уже в другой теме.
Win 10 x64 | VS 2015 | MSSQL 2014
autovestitv.ru Последний раз редактировалось Veiron; 01.07.2009 в 17:29. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
текущее время (системное время ) | Sirk0 | Общие вопросы Delphi | 27 | 07.03.2015 17:52 |
Ответ от сервера. | mustang007 | Работа с сетью в Delphi | 3 | 23.05.2009 10:33 |
Время нажатия на кнопку мыши(Время реакции) | Кирилл13 | Помощь студентам | 1 | 11.04.2009 19:41 |
Счетчик на стороне сервера | CD-R | JavaScript, Ajax | 4 | 31.03.2009 15:04 |
Атаки на сервера | Pblog | Обсуждение статей | 0 | 27.05.2007 02:13 |