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

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

Как использовать транзакцию при работе с несколькими таблицами? [D6, dBase, FoxPro]


RDen ©   (2004-08-26 09:26:00) 

Здравствуйте! Не приходилось раньше применять механизм транзакций :( Решил попробовать, но не получается. Например на форме распологаю:
Database1
Table1
Table2

Далее

Table1.TableName :='Base\B1.DBF';
Table1.Active := True;
Table2.TableName :='Base\B2.DBF';
Table2.Active := True;

Здесь, как я понимаю нужно начать транзакцию
Database1.StartTransaction;

Try
 ....
 какие-то действия с табличными данными
 ....
 Table1.Post;
 Table2.Post;
 Database1.Commit;

Except

 а здесь, при возникновени исключения сделать откат
 Database1.Rollback;
end.

Но видимо прежде нужно "сообщить" компоненту Database1 с какими именами таблиц ему придётся "работать", т.е. нужно применить что-то вроде Database1.DatabaseName := 'имя таблицы';
но как указать на имена сразу нескольких таблиц, если все они участвуют в транзакнии?
или я вообще пытаюсь действовать не правильно...

Заранее спасибо!


RDen   (2004-08-26 09:51:00) [1]

> stone

Спасибо! Вроде всё получилось.


stone   (2004-08-26 09:40:00) [2]


> Но видимо прежде нужно "сообщить" компоненту Database1

Нужно сообщить таблицам, свойство Database

ЗЫ. Хотя, насколько я помню dBase транзакции не поддерживает...


Наверх

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