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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2016, 21:51   #1
edsjeka
Пользователь
 
Регистрация: 01.01.2016
Сообщений: 98
По умолчанию Узнать ID последней вставленной записи

Почитал много форумов, так и не нашел конкретного ответа как узнать ID последней вставленной записи.
Пробовал так:
SELECT MAX(id) FROM baza...
Не работает, пишет ошибку field 'id' not found.
Если без MAX, то все проходит нормально.
Как все-таки можно узнать ID последней вставленной записи, может еще какие-то варианты?
База данных в Access, если это важно.
edsjeka вне форума Ответить с цитированием
Старый 04.02.2016, 22:29   #2
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

https://support.microsoft.com/en-us/kb/815629
come-on вне форума Ответить с цитированием
Старый 05.02.2016, 00:07   #3
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Для Access
SELECT @@IDENTITY FROM ...
kropotkina-alice вне форума Ответить с цитированием
Старый 05.02.2016, 09:15   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
field 'id' not found.
сие пишет программа когда ее запускаешь
откройте для себя алиасы имен (as <новое имя для поля/таблицы/...> ) в SQL
Код:
select max(id) as id from ....
Цитата:
Почитал много форумов
возьмите и почитайте книгу (учебник для начинающих) Мартин Грубер Понимание SQL.
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 06.02.2016, 22:19   #5
tarakan1983
Форумчанин
 
Аватар для tarakan1983
 
Регистрация: 09.09.2008
Сообщений: 418
По умолчанию

Не знаю как Аксесе но Firebird я использую хранимые процедуры и процедуру типа
Код:
create or alter procedure GRUPTOV_E (
    FID integer,
    NAIM varchar(200),
    VIS integer)
returns (
    NEW_ID integer)
as
BEGIN
  IF (:FID < 0)    THEN
  BEGIN
    UPDATE OR INSERT INTO GRUPTOV (
        ID,
        NAIM,
        VIS)
    VALUES (
        GEN_ID(GRUPTOV_ID_GEN,1),
        :NAIM,
        :VIS)  
    MATCHING (ID)
    RETURNING ID
    INTO :NEW_ID;
  END  
    ELSE
      BEGIN
        UPDATE GRUPTOV
          SET
            NAIM = :NAIM,
            VIS = :VIS
          WHERE
            (ID = :FID);
          NEW_ID = :FID;  
      END          
END
tarakan1983 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Kohana ORM: получение id последней записи Blondy PHP 9 20.05.2014 22:46
Вывод последней записи из таблицы mysql NapalmRain PHP 4 24.06.2011 14:41
Подсветка только что вставленной записи в БД artemavd Общие вопросы Delphi 13 02.05.2011 09:23
Ключ последней обновленной записи masterdela SQL, базы данных 7 18.12.2010 15:47
Поиск последней записи в определенной строке Maxx Microsoft Office Excel 5 04.03.2009 14:01