Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Число [D6, Paradox]


Страницы:   1 2

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 ? уникальность гарантируется.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо