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

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

небольшой вопросик [D6, IB6.x]


Atrem ©   (2002-04-04 19:18:00) 

Привет,можно ли как то узнать значение автоинкрементного поля,которое получит новая запись?
Т.е. я добавляю новую запись и после метода post мне надо узнать получившее значение автоинкрементного поля,которое присвоил ему генератор на сервере


VAleksey   (2002-04-05 13:14:00) [1]

> almikhb е мое это я тебе ответил-то.
прошу прощения у Atrem - а.


VAleksey   (2002-04-05 13:12:00) [2]

Для *.dbf - тогда не пиши "на сервере" -). Конечно можно. Используй AfterPost и в нем прочитай значение автиинкриментного поля.


Deniz   (2002-04-05 08:47:00) [3]

Нужно сначала на клиенте получить значение генератора, а потом вставлять(хе-хе).


Александр С..   (2002-04-05 07:31:00) [4]

НУЖНО ОТКЛЮЧИТЬ ТРИГГЕР, ПРЕДНАЗНАЧЕННЫЙ ДЛЯ ГЕНЕРИРОВАНИЯ NREC_NO
CREATE PROCEDURE INSERTDEAD(
Вх. парам.)
RETURNS (
NREC_NO INTEGER) /* возвращаемый номер строки*/
AS
begin
/* Procedure Text */
NREC_NO = GEN_ID(REGDEAD_GEN, 1);
INSERT INTO REGDEAD
( поля)
VALUES
(значения);
SUSPEND; /* ИНАЧЕ НЕ ПРОЧИТАТЬ ЗНАЧЕНИЕ */
end


almikhb   (2002-04-05 03:07:00) [5]

А если таблица локальная (*.db)?


Fran   (2002-04-04 20:06:00) [6]

Я сделал так:

CREATE PROCEDURE INSERTDEAD(
Вх. парам.)
RETURNS (
NREC_NO INTEGER) /* возвращаемый номер строки*/
AS
begin
/* Procedure Text */
NREC_NO = 0;
INSERT INTO REGDEAD
( поля)
VALUES
(значения);

NREC_NO = GEN_ID(REGDEAD_GEN,-1);
NREC_NO = GEN_ID(REGDEAD_GEN,1);

end


Наверх

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