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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2010, 12:29   #1
Gurt87
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 24
По умолчанию скорость FireBird

Есть в БД таблица с двумя полями ID,Name
ID - autoinc

Я добавляю в эту таблицу запись. После этого мне сразу же нужен ее ID.
В программе я последовательно делаю 2 запроса:
INSERT //добавляет запись
SELECT //выборка ID добавленной записи.

Так вот вопрос:
Успеет ли выполнить FireBird запрос INSERT, прежде чем программа выполнит SELECT?
или нужно делать
//INSERT
//sleep(500);
//SELECT
Gurt87 вне форума Ответить с цитированием
Старый 26.01.2010, 13:14   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

При чем здесь какая-то "скорость".
INSERT и SELECT должны выполняться в разных транзакциях. После завершения транзакции для INSERT берите спокойно вы этот свой ID из уже добавленной записи.
Скандербег вне форума Ответить с цитированием
Старый 26.01.2010, 13:23   #3
Gurt87
Пользователь
 
Регистрация: 08.11.2008
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Скандербег Посмотреть сообщение
При чем здесь какая-то "скорость".
INSERT и SELECT должны выполняться в разных транзакциях. После завершения транзакции для INSERT берите спокойно вы этот свой ID из уже добавленной записи.
Понятно, спасибо!
Gurt87 вне форума Ответить с цитированием
Старый 26.01.2010, 18:31   #4
Yurk@
Участник клуба
 
Аватар для Yurk@
 
Регистрация: 19.12.2007
Сообщений: 1,100
По умолчанию

Gurt87, есть вероятность, что в период между INSERTом и SELECTом какой-то другой пользователь может вставить еще одну запись и тогда твой SELECT уже будет не актуальный.
Делай хранимую процедуру, которая будет вставлять запись и возвращать тебе ID новой записи
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ...
Yurk@ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где скорость? Diego__ Microsoft Office Word 2 25.12.2009 01:27
Скорость bakanis Работа с сетью в Delphi 6 05.04.2009 12:39
Скорость реакции li6051 Помощь студентам 16 05.11.2008 20:55
Скорость проигрывания Bigtyoma Общие вопросы Delphi 0 01.10.2008 08:07
Скорость проигрывания Bigtyoma Мультимедиа в Delphi 0 30.09.2008 15:57