![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Число [D6, Paradox]
Ag2002 © (2002-07-19 18:15:00)Подскажите, есть поле в БД числовое, оно пользователю для ввода не доступно, но мне нужно чтобы в это поле вводились, произвольные значения, которые НЕМОГУТ повторятся, т.к. будут активно использоватся, в другой таблице, как это сделать, подойдет ли random ?
Ag2002 (2002-07-23 14:02:00) [1]Anatoly Podgoretsky
Са наверно имел в виду если в запись вставлять значение количества записей в БД
Anatoly Podgoretsky (2002-07-22 23:24:00) [2]CA (22.07.02 23:02)
Ты это сам решил ил на основании каких нибудь научных данных?
CA (2002-07-22 23:02:00) [3]> Anatoly Podgoretsky
если удалять запись и добовлять просто новую то значение ключа повторяеется
Anatoly Podgoretsky (2002-07-22 19:29:00) [4]Random конечно тоже можно использовать, проверяя уникальность в цикле, но вот тут уже в полной мере становится проблема удаления
Anatoly Podgoretsky (2002-07-22 19:27:00) [5]Ag2002 (19.07.02 18:42)
А чем прерятствует удаления уникальности автоинкриментного поля, откуда такое дикое предположение
Val (2002-07-22 18:59:00) [6]я не утверждал о том что это одно и тоже, я говорил о служебной информации в контексте структуры базы данных и информации для пользователя.
MsGuns (2002-07-22 18:54:00) [7]>Val
Не хочу казаться скучным, но НОМЕР ПРОВОДКИ и НОМЕР ДОКУМЕНТА это совсем не одно и то же. Есть проводки БЕЗ документов, а есть документы с кучей проводок. А номер, действительно, показывать не надо - и вот из-за этого-то вся проблема ! (Если б он вводился/ редактировался юзером, никаких траблов бы не было !) Лови себе выталкивание ключей и верещи мессагой !
Val (2002-07-22 18:48:00) [8]дело в том что ID(pk) не должен касаться юзера, он о нем и не знает вовсе. Это информация для разработчика. А для бухгалтеров существуют номера документов(часто уникальный индекс), даты ввода и т.д., с которыми они и работают.
MsGuns (2002-07-22 18:41:00) [9]> Val
>думаю вы немного не о том говорите, поскольку автору нужен >уникальный ID(pk) вот и все, а как он отобразит эти записи для >пользователя, он решает с помощью построения индексов,
Если вопрос ставится именно так, то, безусловно, вы все правы !
Но, к сожалению, это не всегда приемлимо для юзера (например, бухгалтера хотят видеть проводки в том порядке, в каком они их ВВОДИЛИ !)
Val (2002-07-22 18:30:00) [10]>MsGuns © (22.07.02 18:18)
думаю вы немного не о том говорите, поскольку автору нужен уникальный ID(pk) вот и все, а как он отобразит эти записи для пользователя, он решает с помощью построения индексов, конечно же, но почему вы думаете, что обязательно по ID? pk обычно даже не отображают, его осн. применение - обеспечение уникальности записи в НД. А физически запись добавляется в конец НД.
MsGuns (2002-07-22 18:18:00) [11]>Ag2002
OfCouse !
4 записи (только ключи)
10
20 <-- Здеся юзверь нажает Insert
30
40
Прога определяет значение 50, ессно. Но тогда новая запись будет ПОСЛЕДНЕЙ ! А ему надо, чтоб она была после 10, но до 20 !
Вот, собственно, и все !!!
Ag2002 (2002-07-22 17:40:00) [12]> MsGuns ©
Проверь всё пашет, ведь берётся значение поля которое стоит последним, а там всегда самое большое значение !!!
Val (2002-07-22 15:58:00) [13]>Ag2002 (22.07.02 15:29)
аргументы потрясающие
MsGuns (2002-07-22 15:45:00) [14]>Ag2002
А если запись вставиться в середину табла ?
Ag2002 (2002-07-22 15:29:00) [15]ЗАто работает,
Везде есть свои недостатки,
А в нашей стране всё так делается, через ... !!!
Johnmen (2002-07-22 10:26:00) [16]>Ag2002 (22.07.02 10:11)
Ха. А это и есть вариант Val ©, только через задницу.
Ag2002 (2002-07-22 10:11:00) [17]Я тут свою идею всётаки реализовал, перед добавлением записи, смещатся к последней читать значение в этом поле и прибовлять 1, ни каких повторений :)))
kaif (2002-07-20 01:11:00) [18]Можно собрать из текущей дата-времени нечто... типа
StrToInt64(FormatDateTime("YYMMDDHHNNSS",Now)), если Paradox умеет с int64 работать...
Val (2002-07-19 18:55:00) [19]я предлагал вам не добавлять номер количества записей + 1, а максимальный ID+1 - разницу чувствуете??? или это конец рабочего дня так действует? ;)
sniknik (2002-07-19 18:48:00) [20]CreateGUID ? уникальность гарантируется.