powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SQLTransaction Roolbak
9 сообщений из 9, страница 1 из 1
SQLTransaction Roolbak
    #38707771
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую SQLTransaction для отката действий после закрытия формы и отказа от сохранения данных
обьявляю
Код: vbnet
1.
Dim TransctionTab12 As SqlTransaction



На кнопку сохранение

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
              TransctionTab11 = fLogin.connection.BeginTransaction("SampleTransaction")
                Command.Transaction = TransctionTab11
                If _dataCharBuildEditState = 0 Then 'обновление(старой)
                    adCharBuild.UpdateCommand = New SqlCommand("UPDATE [BuildInspector].[dbo].[TStructBild]" & _
            " SET [Storey] = @Storey " & _
              ",[Footer] = @Footer" & _
              ",[Garret]= @Garret" & _
             " ,[Area] = @Area" & _
              ",[AreaAp] = @AreaAp" & _
              ",[id_DWal] =@id_DWal" & _
             " ,[Other] = @Other " & _
            "WHERE [id_Obj]=@IdObj and [Id_StrBild]=@fIdCharBuild ", fLogin.connection)
                    
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("fIdCharBuild", _fIdCharBuild)
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("IdObj", fID)
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("Storey", tbTabStroey.Text)
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("Garret", tbTabGarret.Text)
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("Footer", tbtabFooter.Text)
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("Area", tbtabArea.Text)
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("AreaAp", tbTabAreaApl.Text)
                    If cbTabWal.SelectedValue Is Nothing Then
                        adCharBuild.UpdateCommand.Parameters.AddWithValue("id_DWal", -1)
                    Else
                        adCharBuild.UpdateCommand.Parameters.AddWithValue("id_DWal", cbTabWal.SelectedValue)
                    End If
                    adCharBuild.UpdateCommand.Parameters.AddWithValue("Other", tbTabOtherBuild.Text)
                    adCharBuild.UpdateCommand.Transaction = TransctionTab11
                    adCharBuild.UpdateCommand.ExecuteNonQuery()

  TransctionTab11.Commit()



и в случае отказа от сохранения при закрытии
Код: vbnet
1.
TransctionTab11.Rollback()




Тестирую.... отката не вижу

делала на основании статьи http://msdn.microsoft.com/ru-ru/library/system.data.sqlclient.sqltransaction(v=vs.110).aspx
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38707773
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tasha klemerИспользую SQLTransaction для отката действий после закрытия формы и отказа от сохранения данных
обьявляю
Код: vbnet
1.
Dim TransctionTab12 As SqlTransaction





опечаталась...
Код: vbnet
1.
Dim TransctionTab11 As SqlTransaction

(испльзовать нужно несколько откатов)
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38707908
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tasha klemerТестирую.... отката не вижу
а какой откат ты хочешь увидеть в своём примере ?
как минимум нужно 2 команды, что бы увидеть что-то
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38707915
Kolu4ka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После
TransctionTab11.Commit()
никакие
TransctionTab11.Rollback()
не помогут, т.к. Commit зафиксировал изменения.
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38708099
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скажите пожалуйста, каким образом мне тогда реализовать возможность в рамках работы сформой откатить изменения в БД после ее закрытия. Внутри формы все изменения фиксируются через update или insert.
В голову толькуо приходит на данный момент создаине лог таблиц по вставке изменению данных... но как правильно их тогда организовать.... возможно кто нибудь знает хорошие статьи , где можно набраться теории....
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38708178
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tasha klemer,

...пишите во временную таблицу, склонированную из основной при открытии формы, потом копируйте в основную или отказывайтесь ...
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38721735
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik,

а в качестве источника данных для обьектов указывать временную таблицу???
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38722702
Фотография pation
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tasha klemerСкажите пожалуйста, каким образом мне тогда реализовать возможность в рамках работы сформой откатить изменения в БД после ее закрытия. Внутри формы все изменения фиксируются через update или insert.
В голову толькуо приходит на данный момент создаине лог таблиц по вставке изменению данных... но как правильно их тогда организовать.... возможно кто нибудь знает хорошие статьи , где можно набраться теории....

-по кнопке окей делаешь изменения в базе (выполняешь команды адо.нет в транзакции), если произошла ошибка - откатываешь
-по кнопке кансел - ничего ни делаешь
...
Рейтинг: 0 / 0
SQLTransaction Roolbak
    #38738181
tasha klemer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хотельось бы вернуться к вопросу по транзакция.... пытаюсь вновь осуществить откат внесенных данных в БД пользователем, при закрытие формы и отказе от сохранения данных.

на форме Login указываю строку подключения.
на основной строке использую типозированные dataset, в качестве строки подключения использую строку с формы Login
на открытие основной формы открываю транзакция
Код: vbnet
1.
TransctionTab11 = fLogin.connection.BeginTransaction("SampleTransaction")



на добавление, изменение записей в таблице №1 назначаю эту транзакцию данному датасет

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
  If _dataCharBuildEditState = 0 Then 'обновление(старой)
                    adCharBuild.UpdateCommand = New SqlCommand("UPDATE [TStructBild]" & _
            " SET [Storey] = @Storey " & _
              ",[Footer] = @Footer" & _
              ",[Garret]= @Garret" & _
             " ,[Area] = @Area" & _
              ",[AreaAp] = @AreaAp" & _
              ",[id_DWal] =@id_DWal" & _
             " ,[Other] = @Other " & _
            "WHERE [id_Obj]=@IdObj and [Id_StrBild]=@fIdCharBuild ", fLogin.connection)

' назначение параметров
               
               adCharBuild.UpdateCommand.Transaction = TransctionTab11
               adCharBuild.UpdateCommand.ExecuteNonQuery()




КОгда делаю перезаливку данных в адаптер у меня подвисает все и в итоге не может сделать Fill и выдает пустой набор данных!
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / SQLTransaction Roolbak
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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