powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Транзакция и Tableupdate
5 сообщений из 5, страница 1 из 1
Транзакция и Tableupdate
    #32919944
Alex*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно ли использования в программе VFP 8 Begin Transaction, EndTransaction, Rollback без использования tableupdate и TableRevert?
Т.е. корректно ли будет работать такой код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
BEGIN TRANSACTION 
 TRY
  INSERT INTO Table1 (Field1, Field12);
…
   IF liId > liMaxId	&& проверка вставки логическая: все в порядке
    INSERT INTO Table2 (Field2_1, Field2_2);
...
 
   INSERT INTO Table3 (Field3_1, Field3_2);
…
   END TRANSACTION 
  Else
    This.iCodeError = - 1 
    Rollback
  Endif
 CATCH TO loException 
      Rollback
      This.SetErrorData (loException) 
 ENDTRY

Я погонял - вроде работает. Смущает то, что во всех примерах еще используется Tablerevert.
...
Рейтинг: 0 / 0
Транзакция и Tableupdate
    #32920076
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Транзакция и буферизация - это 2 разных процесса. Их можно использовать как вместе, так и по отдельности. Все зависит от конкретной задачи.

Внутри транзакции ни в коем случае нельзя организовывать ожидание реакции пользователя. Не в смысле "невозможно", а именно "не нужно".

Скачай вложенный файл отсюда

http://www.sql.ru/forum/actualthread.aspx?tid=155844#1284603

Там дается пояснение для чего используются транзакции и буферизация
...
Рейтинг: 0 / 0
Транзакция и Tableupdate
    #32920567
Alex*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылку, я посмотрю.
Но вообще приведенная конструкция работоспособна. В смысле, что она работает то я проверил, наксолько она корректна.
А идея проста - откатить первый (и второй) Insert если произошла ошибка во втором (третьем) Insert'е
...
Рейтинг: 0 / 0
Транзакция и Tableupdate
    #32921033
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корректна. Если таблицы в которые производится в ставка не буферизированы.
...
Рейтинг: 0 / 0
Транзакция и Tableupdate
    #32922109
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi ВладимирМ!

И если они включены в базу данных, или сделаны "поддерживающими транзакции"
через MAKETRANSACTABLE() в VFP9

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Транзакция и Tableupdate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]