![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
Помогите разобраться со следующей ситуацией: В модуле данных имеются такие компоненты: TIBTable1, TIBTransaction1, TIBDatabase1, DataSource1. Работаю с базой данных Firebird. Добавляю запись: Код:
DataModul1.IBTable1.Insert; Код:
if DataModul1.IBTable1.Modified then DataModul1.IBTable1.Post; Всё проходит ОК. Но вот если в поле Дата ввести 99.99.9324, то вызывается ошибка и при новом запуске программы введенная ранее запись НЕ СОХРАНЕНА. Вопрос почему? Ведь если нормально закрыть форму, то все записи сохраняются. Получается, что все записи, которые я буду вводить и типа "сохранять" висят в памяти и переносятся в БД только после закрытия программы? А как сделать так, чтобы уже введенная запись после нажатия кнопки Сохранить оставалась в БД, даже в том случае, если далее произойдет какая-то ошибка? Буду признателен за разъяснения и советы. Последний раз редактировалось Velross, 24.08.2011 в 22:31. |
#2
|
|||
|
|||
![]() Цитата:
Читаем, что такое транзакции и с чем их едят. |
#3
|
|||
|
|||
![]() Цитата:
Спасибо за заданный вектор поиска информации. |
#4
|
|||
|
|||
![]() Цитата:
Цитата:
Спасибо. Теперь всё работает правильно. |
#5
|
|||
|
|||
![]() Можно эту команду не писать, а при разработке у транзакции поставить свойство DefaultAction = TACommitRetaining (по умолчанию TACommit).
|
#6
|
|||
|
|||
![]() Цитата:
Спасибо. Так будет даже лучше. |