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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2015, 14:55   #1
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию Автоинкрементное поле

С помощью DBNavigator, я добавляю запись в базу где поле nKey является автоинкрементным.
открывается форма в BeforeInsert, там я ввожу данные, и сохраняю в базе данные. Тут все в порядке... НО!
Когда, при открытии формы, я хочу запомнить в другой базе данные из поля Key, то у меня ничего не выходит.... я понимаю почему.. потому что запись еще не создана и ключ не присвоен... но мне нужно это ключ скопировать.....
хотел сделать так:
Найти максимальный элемент в поле Key, и прибавить к нему единицу. Но это не прокатит. Т.к. если в таблице , 10 записей, и я удаляю последнюю, а потом добавляю новую запись, то новая запись будет иметь Key равным не 10, а 11 (!!!)
В общем, поскажите как найти Key.... Спасибо
Janger вне форума Ответить с цитированием
Старый 19.02.2015, 15:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
но мне нужно это ключ скопировать.....
Если его не существует то ничего не выйдет. Частично эту проблему могут решить (если они есть) генераторы, однако полностью она не решаема. По крайней мере в такой постановке.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2015, 15:03   #3
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию

Но ведь можно как то узнать, какое число будет следующим?
То что ключа нету, я это понимаю
Janger вне форума Ответить с цитированием
Старый 19.02.2015, 15:06   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
можно как то узнать, какое число будет следующим?
Можно, если СУБД позволяет. Это собственно и есть генераторы. Только в каждой СУБД они по разному работают.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2015, 15:51   #5
Janger
Форумчанин
 
Регистрация: 28.09.2011
Сообщений: 250
По умолчанию

Проблему решил. Как правильно сказал Stilet, ключ нельзя передать, т.к. его просто нету.
Следовательно, он появится, после ADOQuery1.Post;
Проблема решена, спасибо!
Janger вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
бъет ли ферзь, установленный в поле (k, l) поле (m, n). Antua Помощь студентам 5 24.03.2012 12:03
Как из простого мемо записать в поле БД Access в поле тоже типа мемо с сохранением всех абзацев пробелов Speeker БД в Delphi 2 28.11.2011 16:22
Уникальное поле и поле счетчик в IBexpert Ist Помощь студентам 4 28.05.2011 09:14
После ввода в поле по Enter нужно перейти на другое поле! •ScReam•™ Помощь студентам 2 16.06.2009 08:47
автоинкрементное поле в Paradox Liones БД в Delphi 8 20.04.2009 13:48