Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Вниз

Максимальное значение кода в базе данных 


Jhonny   (2002-02-07 07:07) [0]

Здраствуйте народ! Меня мучает один вопрос: как мне узнать максимальное значения кода в базе. Необходимо, чтобы при добавлении записи в базу код наращивался автоматически на единицу.
Я пробовал такой код: Table1.RecordCount + 1, но он считает количество записей в базе. Помогите пожалуйста!

Заранее очень благодарен, Игорь!



User_OKA   (2002-02-07 07:31) [1]

Если это IB5.x, то нет смысла самому наращивать код на единицу. Есть там генераторы спец. для таких целей. А если тебе нужно узнать значение генератора в программе, то запускай его в процедуре.
Но это уже совсем другая история!



Deniz   (2002-02-07 07:33) [2]

Select max(id) from Test
но лучше использовать generator

Create generator test_gen;
set term ^;
CREATE TRIGGER biTEST FOR TEST
ACTIVE BEFORE INSERT POSITION 0
as
begin
if (new.id is null) then new.id = Gen_ID(test_gen, 1);
end;
^
create procedure GetNextID
returns (ID integer) as
begin
ID = Gen_ID(test_gen, 1);
end;
^
set term ;^

В программе :
function NextID:integer;
begin
{ IBSP : TIBStoredProc }
IBSP.StoredProcName:="GetNextID";
IBSP.Prepare;
IBSP.ExecProc;
Result:=IBSP.Params[0].AsInteger;
end;
И вызывай с любого места для получения уникального ID.




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.026 c
1-9117            romulas               2002-02-13 14:33  2002.03.04  
Help!!!


4-9340            Snake2000             2001-12-19 14:50  2002.03.04  
Поверх других :)


6-9255            Rogue                 2001-12-18 13:24  2002.03.04  
Список всех файлов в директории через http


1-9227            solo                  2002-02-15 14:38  2002.03.04  
число пикселей на 10 мм в режиме отображения mm_Lometric


7-9308            neodiX                2001-11-29 15:40  2002.03.04  
Kak programno otkliucit klavu i mysh v WinNT i Win2k?