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

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

БД и многопоточность [D6, Access]


Vilux ©   (2004-03-20 13:44:00) 

Какие "подводные камни" меня ждут при работе с БД (открытие, изменение, закрытие) мнопоточно? А то наблюдаются некоторые глюки. Я использую компоненты ADO. И еще вопрос, создаю SQL запрос INSERT, пихаю его в TAdoQuery, потом делаю SELECT, но этот новая запись не видится. Как мне обновить базу? Пробовал Ado.Close и потом Ado.Open, работает... но если сделать многопоточность, то и этот вариант не работает.


Desdechado   (2004-03-21 16:51:00) [1]

Что подразумевается под многопоточностью?
Много параллельных запросов к БД? В рамках одного или нескольких соединений?
Чтобы увидеть изменения, произведенные другим пользователем/потоком, он должен подтвердить транзакцию, а ты должен переоткрыть запрос. Если все это выполняется параллельно, то моменты переоткрытия тебе неизвестны, поэтому часть изменений (которые не подтверждены) ты не увидишь.
Кроме того, клиенты не всех СУБД поддерживают многопоточность в рамках одного соединения.


Наверх

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