Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2012, 18:20   #11
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Как вариант, реализуйте функцию, которая сама создаст уникальный номер.
Код:
function RandomX:Cardinal;
begin
 Randomize;
 Result:=Random;
 Sleep(1);
 Randomize;
 Result:=Result+Random;
end;
И далее ищите этот ID в вашей таблице, если его нет, то создаете за ним запись. Если есть, то повторяете пока не будет пусто место под запись.
Человек_Борща вне форума Ответить с цитированием
Старый 04.12.2012, 15:24   #12
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Как вариант, реализуйте функцию, которая сама создаст уникальный номер.
Может тогда лучше GUID использовать в качестве УН?
superedward вне форума Ответить с цитированием
Старый 04.12.2012, 15:32   #13
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

superedward, там строка. Не надо. Строки очень долго сравниваются.
Человек_Борща вне форума Ответить с цитированием
Старый 04.12.2012, 15:41   #14
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
GUID.. строка. Строки очень долго сравниваются
С случае вменяемого применения GUID в СУБД в кач-ве первичного ключа ни одно из этих утверждений не соответствует действительности.
xoodoo вне форума Ответить с цитированием
Старый 04.12.2012, 16:16   #15
puma
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 23
По умолчанию

для идентификации совершенно неважно по порядку ли идут идентификационные номера - главное чтобы они были уникальны в пределах таблицы

Для создания каталого важен порядок следования, т.к каждый пришедший пользователь должен идти по порядку, начиная с нового года - 1,2, 3.... и т.д. и его номер должен отображаться в гриде или едит.

Может как вариант попробывать использовать максимальное значение счётчика, увеличить его на единицу...
puma вне форума Ответить с цитированием
Старый 04.12.2012, 16:55   #16
xoodoo
Форумчанин
 
Регистрация: 11.04.2012
Сообщений: 212
По умолчанию

Цитата:
каждый пришедший пользователь должен идти по порядку
Дата/время "прихода пользователя" фиксируется в таблице ?
Оно уникально для каждого отдельного пользователя ?
Этого достаточно чтобы пронумеровать последовательно записи, выводимые в грид в порядке возрастания даты/времени. И нет никакой нужды хранить еще и "номер". К тому же при удалении записи о "пришедшем пользователе" придется выполнять полную сквозную перенумерацию записей для ликвидации "дырки".
xoodoo вне форума Ответить с цитированием
Старый 04.12.2012, 20:28   #17
Музыкант
Пользователь
 
Регистрация: 15.11.2011
Сообщений: 26
По умолчанию

ид обычно формируется из текущего времени, это гарантирует уникальность и никаких проверок не надо
Музыкант вне форума Ответить с цитированием
Старый 04.12.2012, 23:59   #18
puma
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 23
По умолчанию

Сделала, правда немного иначе, с помощью вычисляемого поля..

ADOTable1ВычисляемоеПоле.AsInteger: =ADOTable1.RecNo;

Всем спасибо за помощь!!!
puma вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с созданием новой записи Malgor БД в Delphi 1 16.07.2012 08:25
Создание кнопки для сохранения записи Dmitriy_Egorov Microsoft Office Access 11 29.09.2011 23:19
Создание новой записи в подчиненной форме serega1576 Microsoft Office Access 2 16.09.2011 05:56
Как получить ID для новой записи с использованием триггеров?(Firebird) Paul Hindenburg БД в Delphi 20 01.06.2008 16:39
Создание новой записи Gerox БД в Delphi 3 30.12.2007 14:22