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

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

Как получить индекс самой последней записи в таблице при использо [D6, D7, IB6.x]


ВК ©   (2003-12-21 00:51:00) 

Как получить индекс самой последней записи в таблице при использовании IBX.
(Индекс - первое поле.)


ВК   (2003-12-21 15:08:00) [1]

Спасибо Вам всем большое за помощ!


jack128   (2003-12-21 14:13:00) [2]

Выход один - не использовать триггер, точнее переделать его так
AS
BEGIN
if (new.id is null) then
NEW.ID = GEN_ID(GEN_ID,1);
END

А id получать на клиенте перед вставкой. У TibDataSet есть свойство GeneratorField для этого


Term   (2003-12-21 13:51:00) [3]

попробуй тогда запросом
select max(id) from table


ВК   (2003-12-21 13:50:00) [4]

Просто они у меня равны ... мне любой способ подойдёт


Term   (2003-12-21 13:48:00) [5]


> Как получить индекс самой последней записи в таблице при
> использовании

а что имеется в виду под словом "индекс" кажется оно в данном контексте не применимо, или имеется ввиду какоето поле с именем id по которому строиться главный индекс


ВК   (2003-12-21 13:44:00) [6]

Да, мне нужно узнать индекс последней вставленной записи...
У меня какой индекс такая и цифра...если индекс записи равен 10, то и текст в самой записи индексного поля тоже будет равен 10
Тригер такой:
AS
BEGIN
NEW.ID = GEN_ID(GEN_ID,1);
END


JibSkeart   (2003-12-21 12:14:00) [7]

Я так понял тебе надо узнать
индекс последней вставленнойзаписи ?

мда у MSSQL
@@identity --не работает корректно если на встаку сесть триггер и в этом тригере идет вставка в другую таблицу
(но можно выкрутится , тоесть обоити)

посмотри есть ли аналог в ИБ ,


Term   (2003-12-21 09:50:00) [8]


>
> Скорее всего у тебя такая проблема. Ты создал триггер (как
> рекомендуют все дурацкие книжки по IB) и присвоил первичный
> ключ в триггере

А как ты предлагаеш, так вроде в "Мир InterBase" написано, она тоже дурацкая???


kaif   (2003-12-21 03:59:00) [9]

Что ты называешь самой последней записью? У IB таких понятий нет. Если ты единственный юзер в сети, то, может быть, ты еще заметишь какую-то "последнесть" записи при добавлении в таблицу. Но если юзеров много и они работают с кучей транзакций, то можешь понаблюдать, что будет.
Скорее всего у тебя такая проблема. Ты создал триггер (как рекомендуют все дурацкие книжки по IB) и присвоил первичный ключ в триггере. А теперь не знаешь, как "выловить" то, что сам только что добавил в таблицу. Я прав?


ВК   (2003-12-21 00:57:00) [10]

Вернее как получить текст в индексируемом поле самой последней записи таблицы


Nikolay M.   (2003-12-21 00:55:00) [11]

Сам-то понял, что спросил?


Наверх

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