![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как использовать транзакцию при работе с несколькими таблицами? [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 транзакции не поддерживает...