Hi
I want to be able to prompt a user to decide whether they want to commit or rollback their database changes but don't know how.
I found some code that shows the logic of transaction but can't see a way of making it handle yes/no prompt.
Code is below:
<script language="
vb" runat="server">
Sub Page_Load()
Dim myConnection As OdbcConnection = New OdbcConnection ("dsn=books.udd;uid=;pwd=;")
myConnection.Open()
con_open.text="Connection Open successfully.<br />"
Dim mystring As String = "Select * from customer where custcode = 'C001'"
Dim cmd As OdbcCommand = New OdbcCommand(mystring, myConnection)
' Display original data in a DataGrid
table_orig.text="Display original data record.<br />"
dgEmps.DataSource = cmd.ExecuteReader(CommandBehavior.CloseConnection)
dgEmps.DataBind()
' Start a local transaction.
myConnection.Open()
Dim myTrans As OdbcTransaction = myConnection.BeginTransaction()
' Enlist the command in the current transaction.
Dim myCommand As OdbcCommand = myConnection.CreateCommand()
myCommand.Transaction = myTrans
Try
myCommand.CommandText = "update customer set cust_region = 'NORD' where custcode = 'C001'"
trans_start.text="Transaction started successfully.<br />"
myCommand.ExecuteNonQuery()
trans_query.text="Transaction UPDATE query issued.<br />"
myTrans.Commit()
Console.WriteLine("Record has been written to database.")
trans_commit.text="Transaction UPDATE query completed successfully.<br />"
Catch e As Exception
Try
myTrans.Rollback()
trans_rollback.text="Transaction UPDATE query rollbacked.<br />"
Catch ex As OdbcException
If Not myTrans.Connection Is Nothing Then
Console.WriteLine("An exception of type " & ex.GetType().ToString() & _
" was encountered while attempting to roll back the transaction.")
End If
End Try
Console.WriteLine("An exception of type " & e.GetType().ToString() & _
"was encountered while inserting the data.")
Console.WriteLine("Neither record was written to database.")
Finally
table_change.text="Display changed data record.<br />"
' Display changed record in a DataGrid
dgEmps1.DataSource = cmd.ExecuteReader(CommandBehavior.CloseConnection)
dgEmps1.DataBind()
myConnection.Close()
con_close.text="Connection Closed successfully.<br />"
End Try
end Sub
</script>