Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: CL | DM;

Вниз

Мультинитиевое приложение для работы с БД   Найти похожие ветки 

 
Blade ©   (2002-05-18 11:50) [0]

В одной нити процедура A:

procudure a
begin
DB.StartTransaction;
// Тут что-то делаем с БД
DB.Commit;
end;


В другой - процедура B:

procedure b
begin
DB.StartTransaction;
// Тут что-то делаем с БД
DB.Commit;
end;


Вопрос:

Вот если процедура А завершит свои действия и выполнит Commit() в то время, как В еще будет работать, что произойдет с изменениями, сделанными процедурой В? Они тоже закоммитятся?
Подскажите, плиз, вариант решения. Буду признателен, если получу ответ на мыло, да еще и с примером.


 
Romkin ©   (2002-05-18 11:55) [1]

В разных нитях обязательно должны быть разные TSession & TDatabase (с разными именами), threadsafe только TSession.


 
Desdechado ©   (2002-05-18 12:10) [2]

если транзакции изменяют разные данные, не зависящие друг от друга, то наиболее вероятно, что обе они завершатся успешно.
в противном случае, позднее завершающаяся не пройдет.
это как работа разных приложений с одними данными



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

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
1-30778
Kviz
2002-05-30 21:32
2002.06.10
Люди, кто что то подобное видел слышал, имеет прдставление как, это делается, ПОМОГИТЕ!!! Вопрос насчёт иконки! Как изменить вид иконки в виндах в готовом EXE шнике.


1-30777
Danger
2002-05-30 23:40
2002.06.10
Работа с Вордовскими файлами(doc)


1-30796
allrussia
2002-05-31 04:48
2002.06.10
Как из исполняемого файла в RunTime вырвать кусок текста


3-30727
chmz_vitas
2002-05-13 14:13
2002.06.10
ProgressBar - отображение процесса загрузки


4-31048
DeMoN-777
2002-04-09 03:58
2002.06.10
Добавление mainmenu на чужую форму