Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.01.2010, 18:23
Gurt87 Gurt87 вне форума
Прохожий
 
Регистрация: 17.05.2009
Сообщения: 16
Репутация: 10
По умолчанию Транзакции

Доброго времени суток!
Ребята при работе с FireBird возникли ряд вопросов..

1. Интересует как правильно делать транзакции.
Нужно ли выполнять транзакцию для запроса SELECT?
В своей программе я делаю транзакции так:

Компоненты
Код:
    Transaction: TIBTransaction;
    db: TIBDatabase;
    sql: TIBQuery;

Для SELECTа
Код:
sql.Transaction.StartTransaction;
sql.SQL.Clear;
sql.SQL.Add('SELECT * FROM LOGIN');
sql.Transaction.Active:=True;
sql.Transaction.Commit;
sql.Close;
sql.Open;

Для INSERTа
Код:
sql.Transaction.StartTransaction;
sql.SQL.Clear;
sql.SQL.Add('INSERT INTO LOGIN (ACCOUNT)  VALUES (NEWACCAUNT)');
sql.ExecSQL;
sql.Transaction.Active:=True;
sql.Transaction.Commit;

Самое главное то чтобы когда я запустил свою программу два раза,
и в одной копии добавил запись с помощью INSERT в таблицу LOGIN, а в другой копии загрузил с помощью SELECT все данные с таблицы LOGIN, то данные, которые были внесены первой копией отображались во второй копии...

Правильно ли я делаю эти транзакции? Если что то лишнее или не правильное прошу Вас поправить...


2. Существует так называемая ошибка Deadlock.(Конфликт обновления.)
Как избежать ее? Ну или хотя бы свести ее возникновение к минимуму..

3. Какие должны быть параметры в Transaction: TIBTransaction; ???
Или параметры по умолчанию оптимальные?
Может ответ в них как то можно предотвратить DeadLock?
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:08.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025