Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Autoincrement ID   Найти похожие ветки 

 
Stratos ©   (2004-03-26 05:40) [0]

Как при работе с БД Paradox получить последний ID, сгенерированный autоincrement полем после вызова Insert()?
Использую TTable.


 
Fay ©   (2004-03-26 06:07) [1]

В общем виде - никак. Во всяком случае свой. Даже если Вас устроит чужой, то "грязное чтение" подос№ёт обязательно.
НО. Если Вы пашете в одиночестве, тогда сходите в конец датасета по возратающему индексу по автоинкременту. Там в конце он и живёт. Если не переехал в начало (по убывающему) 8).


 
Stratos ©   (2004-03-26 06:20) [2]

Дело в том, что эта задача вставала уже неоднократно.
Раньше я ее решал как "SELECT MAX(ID) FROM mytable".
Но это ИМХО криво...
Странно, что не предусмотрена стандартная функция для такой задачи - встречается ведь часто...

А при попытке считать поле сразу после Insert возвращается 0...
:(


 
Fay ©   (2004-03-26 06:27) [3]

Ничего умнее, чем "слазь уже с рагадоха!" посоветовать не могу.
И не собираюсь 8)


 
ЮЮ ©   (2004-03-26 06:43) [4]

IMHO, это проблема не Paradox-а, а Increment-а.


 
Fay ©   (2004-03-26 06:46) [5]

Это проблемы программиста/пользователя. Рагадоху и инкременту всё по барабану (включая барабан)


 
Stratos ©   (2004-03-26 06:56) [6]

ага, по барабану...
но к сожалению не мне решать Парадокс/не Парадокс...
ну что ж - "SELECT MAX(ID) FROM mytable". и вперед.
Спасибо всем.

Если все же кто найдет - ответьте.


 
Fay ©   (2004-03-26 07:07) [7]

"сразу после Insert" - это когда?


 
Fay ©   (2004-03-26 07:15) [8]

Я тут тестанул с AfterPost-ом. Всё пучком.


 
Stratos ©   (2004-04-04 21:17) [9]

Спасибо :)


 
LaidBack   (2004-04-05 09:02) [10]

Самый быстрый способ - создать отдетьный TTable для этой таблицы и каждый раз перед тем как добавить запись делать следующее с ним:

TblAutoInc.Active := True;
TblAutoInc.Last;
LastAutoValue := TblAutoInc.FieldByName("ID").AsInteger;
TblAutoInc.Active := False;


Разумеется, по полю ID нужен ключ.


 
Fay ©   (2004-04-05 09:05) [11]

А нельзя взять значение а.и. поля на AfterPost-е? Неужели с 9999 раз медленнее будет?



Страницы: 1 вся ветка

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

Наверх




Память: 0.46 MB
Время: 0.305 c
3-1081100910
zerrow
2004-04-04 21:48
2004.05.02
помогите с нормализацией. что-то я запутался!


14-1081608838
SergeySh
2004-04-10 18:53
2004.05.02
Диск к книге DirectX (графика в проектах), автор - Михаил Краснов


1-1082105317
Power_Lich
2004-04-16 12:48
2004.05.02
TChart


14-1081492943
peypivo
2004-04-09 10:42
2004.05.02
О явлениях которые мы не можем изменить и о тех кто пытается.


3-1081357466
Mishenka
2004-04-07 21:04
2004.05.02
Запись переменной длины?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский