Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вам идея?:) / 25 сообщений из 26, страница 1 из 2
23.07.2003, 14:27
    #32215701
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Появилась идейка по поводу уникальных DateTime:

Юзверь нажимает на кнопку "Получить" и просходит следующее:
Засылаем на сервер Now() если есть +1(+1 +1)
Создаем запись
А потом ее родную только апдейтить останется
Много клиентов, а совпадений не будет

Geen
...
Рейтинг: 0 / 0
23.07.2003, 14:35
    #32215719
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
еще бывает функция timer
...
Рейтинг: 0 / 0
23.07.2003, 14:36
    #32215723
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Подробнее плс:)
Это не "эт сервер тайм" случайно?:)

Geen
...
Рейтинг: 0 / 0
23.07.2003, 14:45
    #32215752
Alexus12
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Если имеется VB-фция timer, то она как-то не очень подходит -
возвращает число секунд с полуночи, а полночь случается каждый день ;)))

Now() можно использовать с миллисекундами (если сервер быстрый, секунд может быть мало),
плюс в многопольз. системе стоило бы и логин юзверя-креатора записи присовокупить (сюда же или отд. полем) для верности...
...
Рейтинг: 0 / 0
23.07.2003, 15:50
    #32215894
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
я почемуто решил что точность таймера выше чем now()

оказалось наоборот у now() точность выше

в данном примере оба выражения показывают некое количество единиц времени от начала дня

Код: plaintext
1.
2.
3.
Public Sub tst()
Debug.Print CDbl(Now - Date)
Debug.Print CDbl(Timer)
End Sub


результат
Код: plaintext
1.
 0 , 654918981483206  
  56585 , 765625 


у NOW 15 разрядов суточной точности
у timer 11

соответственно правильный выбор now

но только сохранять в таблицу лучше не время а Double - значение
так как дата хранится в таблице с точностью до секунд

Код: plaintext
CDbl(Now)
...
Рейтинг: 0 / 0
23.07.2003, 16:01
    #32215913
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Какая разница - быстрый сервер, медленный...
Now на клиенте выполняется. И возвращает время на клиентской машине.

На фига вообще понадобилось уникальное DateTime???
Записи идентифицировать? Бред.
Вы еще с помощью double'а записи уникально идентифицируйте.

На фига счетчик изобретать? Даже если стандартный счетчик не устраивает (что часто случается) - сделайте его целочисленным и не насилуйте себе мозг. Способов - вагон и маленькая тележка.
...
Рейтинг: 0 / 0
23.07.2003, 16:11
    #32215921
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
>На фига вообще понадобилось уникальное DateTime???

мало ли на что .....
...
Рейтинг: 0 / 0
23.07.2003, 16:17
    #32215938
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
мало ли на что .....
Как минимум - нафига
Не зная зачем - трудно ответить на вопрос "как вам идея". Можно ли использовать Now, нужна ли вообще привязка к текущему моменту времени, если нужна - правильно ли делать "если есть +1(+1 +1)" (как никак другой день) и т.п.
Такое ощущение что человек нашел функцию которая выдает псевдоуникальный double, и непонятно зачем стал делать его совсем уникальным.
Rnd тоже псевдоуникальный double выдает (к примеру), почему бы его не использовать?
...
Рейтинг: 0 / 0
23.07.2003, 16:44
    #32215991
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
с rnd это вообще песня ... не знаю как в аксессе
но в asp (VBSCRIPT)- выдает случайным образом одно из 4 возможных значений и никакая начальная затравка не помогает ))
...
Рейтинг: 0 / 0
23.07.2003, 19:31
    #32216238
Как вам идея?:)
2 АлексейК

я почемуто решил что точность таймера выше чем now()
оказалось наоборот у now() точность выше
у NOW 15 разрядов суточной точности
у timer 11


Вероятно NOW находит на машине встроеннные атомные часы :)
Иногда лучше подумать прежде, чем говорить
...
Рейтинг: 0 / 0
24.07.2003, 11:19
    #32216595
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
А на фига?:)
Объясняю:
Многие умные книги советуют использовать DateTime как РК (с этим я согласен).
Но Now() у разных пользователей может теоретически совпасть.
Поэтому и мигрень с "получением".
Если РК существует +1 (но не день а секунду)
Если нет вставляем запись со служебными (известными) значениями а потом только апдейтим.
По моему достаточно удобно (не для юзверя)
Кстати кому не лень помогите с VB кодом:)

Geen
...
Рейтинг: 0 / 0
24.07.2003, 11:25
    #32216606
VIG
VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Чем бы дитя не тешилось ...
...
Рейтинг: 0 / 0
24.07.2003, 11:28
    #32216616
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
А есть лучше идеи?:)
Хотя я где-то слышал о "время с сервера".
Может знает кто?:)

Geen
...
Рейтинг: 0 / 0
24.07.2003, 11:30
    #32216619
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Многие умные книги советуют использовать DateTime как РК
Слушай, покажи мне такую умную книгу, а?
Или хотя бы автора скажи
бррр
ужас

Если у тебя в таблице хранятся моменты времени с какими-то атрибутами - тогда наверное можно. Но тогда оно (время) и есть первичный ключ, и никакую исусственную уникальность обеспечивать не надо.
А для всего остального время (документы какие-нибудь например) время - это атрибут (несколько атрибутов). С какого перепоя оно должно первичным ключом быть?

бррр
выкинь эту умную книгу
...
Рейтинг: 0 / 0
24.07.2003, 11:40
    #32216634
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
А есть лучше идеи?

СЧЕТЧИК!!!
(и не е%ать мозг)
...
Рейтинг: 0 / 0
24.07.2003, 14:57
    #32217081
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
А как раелаизовать счетчик на стороне сервера, а как правильно написать Insert into для серверного счетчика?

Geen
...
Рейтинг: 0 / 0
24.07.2003, 15:02
    #32217091
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Для начала залезть в хелп
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE TABLE new_employees
(
 id_num int IDENTITY( 1 , 1 ),
 fname varchar ( 20 ),
 minit char( 1 ),
 lname varchar( 30 )
)
...
Рейтинг: 0 / 0
24.07.2003, 15:05
    #32217098
VIG
VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
В общем случае
IDENTITY [(seed, increment )

Arguments
seed
Is the value that is used for the very first row loaded into the table.
increment
Is the incremental value that is added to the identity value of the previous row that was loaded.
You must specify both the seed and increment or neither. If neither is specified, the default is (1,1).
...
Рейтинг: 0 / 0
24.07.2003, 15:39
    #32217163
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Слона-то я и не приметил (Идентити)
:)

Geen
PS А как идентити себя ведет прибольшом количестве клиентов?
А еще лучше как работает?
...
Рейтинг: 0 / 0
24.07.2003, 19:19
    #32217455
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
на сервере ничего изобретать не надо

все работает само по себе и чем меньше вмешиваешься тем лучше

есть идентити - нечто похожее на счетчик аксесса - работает с числовыми полями
есть ROWGUIDCOL - уникальный идентификатор по отношению не только к таблице или серверу но и ко всем сетевым компьютерам в мире
...
Рейтинг: 0 / 0
24.07.2003, 19:22
    #32217461
fedd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
Geen:
ну АлексейК загибает, да?
...
Рейтинг: 0 / 0
25.07.2003, 09:22
    #32217686
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
А че я? Я сам офигел))))))))

Geen
...
Рейтинг: 0 / 0
25.07.2003, 09:36
    #32217698
iSestrin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
2fedd
да уж, загнул ... он наверняка повторится, и может даже раньше, чем через обещанные 87 миллионов лет.

кстати, возвращаясь к первоначальной идее: нафига там исходное значение инкрементить - можно просто эту колонку сделать уникальной и обрабатывать ошибку добавления (повторять попытку сохранить запись)
...
Рейтинг: 0 / 0
25.07.2003, 09:43
    #32217705
Polev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
По поводу времени сервера - пользую такую вот штуку...
Синхронизирую время на локадбной машине с временем сервера:

Dim retVal

retVal = Shell("net time \\Server /set /yes", 6)

Win98, Ac97...
Только вот не помню, как заставить Net самому закрываться после того как отработает. Приходится вручную ставить галку...
...
Рейтинг: 0 / 0
28.07.2003, 09:40
    #32219191
Geen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вам идея?:)
2 Polev
Dim retVal
retVal = Shell("net time \\Server /set /yes", 6)
Это где прописывается?:)

Geen
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Как вам идея?:) / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]