We implement a database transaction, which is currently commonly used, either written in the stored procedure or in the ADO. Net hierarchical control. In fact, there is also a way to implement it at the ASP page level.
The procedure is as follows:
Add reference system. enterpriseservices. dll
Using system. enterpriseservices;
Create a button as needed and perform the following operations in the button:
Try
{
Work1 ();
Work2 ();
Contextutil. setcomplete ();
}
Catch (system. Exception doesn't)
{
Contextutil. setabort ();
Response. Write (Response T. Message );
}
Then, add two operations to the page to simulate calling operations of different classes at the logic layer.
Private void work1 ()
{
Sqlconnection conn = new sqlconnection (system. configuration. configurationsettings. deleettings ["conn"]);
Sqlcommand cmd1 = new sqlcommand ("insert into trantest (ID, test) values (1, 'test')", Conn );
Conn. open ();
Statement 1.executenonquery ();
Conn. Close ();
}
Private void work2 ()
{
Sqlconnection conn = new sqlconnection (system. configuration. configurationsettings. deleettings ["conn"]);
Sqlcommand cmd2 = new sqlcommand ("insert into trantest (ID, test) values (2, 'test')", Conn );
Conn. open ();
Listen 2.executenonquery ();
Conn. Close ();
}
Modify the foreground page and add transaction = "required" to <% PAGE.