<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.Net%2FADO.net_Database%2FTransaction_SqlConnection</id>
		<title>ASP.Net/ADO.net Database/Transaction SqlConnection - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.Net%2FADO.net_Database%2FTransaction_SqlConnection"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.Net/ADO.net_Database/Transaction_SqlConnection&amp;action=history"/>
		<updated>2026-04-29T18:38:00Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.Net/ADO.net_Database/Transaction_SqlConnection&amp;diff=1648&amp;oldid=prev</id>
		<title> в 15:30, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.Net/ADO.net_Database/Transaction_SqlConnection&amp;diff=1648&amp;oldid=prev"/>
				<updated>2010-05-26T15:30:47Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:30, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.Net/ADO.net_Database/Transaction_SqlConnection&amp;diff=1649&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.Net/ADO.net_Database/Transaction_SqlConnection&amp;diff=1649&amp;oldid=prev"/>
				<updated>2010-05-26T11:51:02Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Implicit Transactions using TransactionScope==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data.SqlClient&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Transactions&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Web.Configuration&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    void btnSave_Click(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            int categoryID;&lt;br /&gt;
            string connectionString = WebConfigurationManager.ConnectionStrings[&amp;quot;AdventureWorks&amp;quot;].ConnectionString;            &lt;br /&gt;
            using (TransactionScope scope = new TransactionScope())&lt;br /&gt;
            {&lt;br /&gt;
                using (SqlConnection connection = new SqlConnection(connectionString))&lt;br /&gt;
                {                    &lt;br /&gt;
                  categoryID = InsertCategory(connection);&lt;br /&gt;
                }&lt;br /&gt;
                scope.ruplete();&lt;br /&gt;
            }&lt;br /&gt;
            lblResult.Text= &amp;quot;Category is written successfully. Category ID= &amp;quot; + categoryID.ToString();&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception ex)&lt;br /&gt;
        {&lt;br /&gt;
            lblResult.Text= &amp;quot;Exception is : &amp;quot; + ex.Message;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    int InsertCategory(SqlConnection connection)&lt;br /&gt;
    {&lt;br /&gt;
        string sql = &amp;quot;Insert into Production.ProductCategory(Name,&amp;quot; +&lt;br /&gt;
                        &amp;quot;rowguid, ModifiedDate) Values(@Name, @rowguid, @ModifiedDate); SELECT @@IDENTITY&amp;quot;;&lt;br /&gt;
        connection.Open(); &lt;br /&gt;
        SqlCommand command = new SqlCommand(sql, connection);&lt;br /&gt;
        command.rumandType = CommandType.Text;&lt;br /&gt;
        SqlParameter nameParam = new SqlParameter(&amp;quot;@Name&amp;quot;, SqlDbType.NVarChar, 50);&lt;br /&gt;
        nameParam.Value = txtCategoryName.Text;&lt;br /&gt;
        command.Parameters.Add(nameParam);&lt;br /&gt;
        SqlParameter guidParam = new SqlParameter(&amp;quot;@rowguid&amp;quot;, SqlDbType.UniqueIdentifier);&lt;br /&gt;
        guidParam.Value = System.Guid.NewGuid();&lt;br /&gt;
        command.Parameters.Add(guidParam);&lt;br /&gt;
        SqlParameter modifieDateParam = new SqlParameter(&amp;quot;@ModifiedDate&amp;quot;, SqlDbType.DateTime);&lt;br /&gt;
        modifieDateParam.Value = System.DateTime.Now;&lt;br /&gt;
        command.Parameters.Add(modifieDateParam);&lt;br /&gt;
        int categoryID = Convert.ToInt32(command.ExecuteScalar());  &lt;br /&gt;
        return categoryID;      &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Implicit Transactions using TransactionScope&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;asp:Label ID=&amp;quot;lblCategoryName&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Category Name:&amp;quot; Width=&amp;quot;179px&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;        &lt;br /&gt;
        &amp;lt;asp:TextBox ID=&amp;quot;txtCategoryName&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;                &lt;br /&gt;
        &amp;amp;nbsp;&amp;lt;asp:Button ID=&amp;quot;btnSave&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Save&amp;quot; Width=&amp;quot;92px&amp;quot; OnClick=&amp;quot;btnSave_Click&amp;quot;/&amp;gt;        &lt;br /&gt;
        &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;lt;asp:Label ID=&amp;quot;lblResult&amp;quot; runat=&amp;quot;server&amp;quot; Font-Bold=&amp;quot;true&amp;quot; Font-Size=&amp;quot;Small&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Open connection and begin transaction==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ import Namespace=&amp;quot;System.Data&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ import Namespace=&amp;quot;System.Data.SqlClient&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
SqlTransaction _Transact;&lt;br /&gt;
void page_load(Object Sender, EventArgs E)&lt;br /&gt;
{&lt;br /&gt;
    &lt;br /&gt;
  String ConnectionString = &amp;quot;Server=localhost; Database=pubs; uid=sa; pwd=;&amp;quot;;&lt;br /&gt;
  String CommandText = &amp;quot;UPDATE authors SET state=&amp;quot;PU&amp;quot; WHERE state=&amp;quot;UT&amp;quot;&amp;quot;;&lt;br /&gt;
  String CommandText2 = &amp;quot;UPDATE authors SET au_id=&amp;quot;1&amp;quot; WHERE au_id=&amp;quot;2&amp;quot;&amp;quot;;&lt;br /&gt;
    &lt;br /&gt;
    SqlConnection _Connection = new SqlConnection(ConnectionString);&lt;br /&gt;
    SqlCommand _Command = new SqlCommand();&lt;br /&gt;
    &lt;br /&gt;
    try{&lt;br /&gt;
        _Connection.Open();&lt;br /&gt;
        _Transact = _Connection.BeginTransaction();&lt;br /&gt;
        &lt;br /&gt;
        _Command.Connection = _Connection;&lt;br /&gt;
        _Command.Transaction = _Transact;&lt;br /&gt;
        &lt;br /&gt;
        _Command.rumandText = CommandText;&lt;br /&gt;
        _Command.ExecuteNonQuery();&lt;br /&gt;
        &lt;br /&gt;
        _Command.rumandText = CommandText2;&lt;br /&gt;
        _Command.ExecuteNonQuery();&lt;br /&gt;
        &lt;br /&gt;
        _Transact.rumit();&lt;br /&gt;
        &lt;br /&gt;
        MessageLiteralControl.Text = &amp;quot;Transaction Successful!&amp;quot;;&lt;br /&gt;
    }catch (Exception Err){&lt;br /&gt;
        _Transact.Rollback();&lt;br /&gt;
        MessageLiteralControl.Text = &amp;quot;Transaction Failed!&amp;lt;br/&amp;gt;&amp;quot; + Err.Message;&lt;br /&gt;
    }&lt;br /&gt;
    finally{&lt;br /&gt;
    _Connection.Close();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form runat=&amp;quot;server&amp;quot; ID=&amp;quot;Form1&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;p&amp;gt;&lt;br /&gt;
        &amp;lt;asp:Label id=&amp;quot;MessageLabel&amp;quot; runat=&amp;quot;server&amp;quot; EnableViewState=&amp;quot;false&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;&lt;br /&gt;
      &amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using Explicit Transactions using CommittableTransaction==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data.SqlClient&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Transactions&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Web.Configuration&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    void btnSave_Click(object sender, EventArgs e) {&lt;br /&gt;
        CommittableTransaction trans = new CommittableTransaction();&lt;br /&gt;
        try {&lt;br /&gt;
            string connectionString =  WebConfigurationManager.ConnectionStrings[&amp;quot;AdventureWorks&amp;quot;].ConnectionString;&lt;br /&gt;
            using (SqlConnection connection = new SqlConnection(connectionString)) {&lt;br /&gt;
                string sql = &amp;quot;Insert into Production.ProductCategory(Name,rowguid, ModifiedDate) Values(@Name, @rowguid, @ModifiedDate)&amp;quot;;&lt;br /&gt;
                connection.Open(); &lt;br /&gt;
                SqlCommand command = new SqlCommand(sql, connection);&lt;br /&gt;
                command.rumandType = CommandType.Text;&lt;br /&gt;
                SqlParameter nameParam = new SqlParameter(&amp;quot;@Name&amp;quot;, SqlDbType.NVarChar, 50);&lt;br /&gt;
                nameParam.Value = txtCategoryName.Text;&lt;br /&gt;
                command.Parameters.Add(nameParam);&lt;br /&gt;
                SqlParameter guidParam = new SqlParameter(&amp;quot;@rowguid&amp;quot;, SqlDbType.UniqueIdentifier);&lt;br /&gt;
                guidParam.Value = System.Guid.NewGuid();&lt;br /&gt;
                command.Parameters.Add(guidParam);&lt;br /&gt;
                SqlParameter modifieDateParam = new SqlParameter(&amp;quot;@ModifiedDate&amp;quot;, SqlDbType.DateTime);&lt;br /&gt;
                modifieDateParam.Value = System.DateTime.Now;&lt;br /&gt;
                command.Parameters.Add(modifieDateParam);&lt;br /&gt;
                &lt;br /&gt;
                connection.EnlistTransaction(trans);&lt;br /&gt;
                command.ExecuteNonQuery();&lt;br /&gt;
                trans.rumit();&lt;br /&gt;
            }&lt;br /&gt;
            lblResult.Text = &amp;quot;Category is written successfully&amp;quot;;            &lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception ex)&lt;br /&gt;
        {&lt;br /&gt;
            trans.Rollback();&lt;br /&gt;
            lblResult.Text = &amp;quot;Exception is : &amp;quot; + ex.Message;            &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Using Explicit Transactions using CommittableTransaction&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
        &amp;lt;asp:Label ID=&amp;quot;lblCategoryName&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Category Name:&amp;quot; Width=&amp;quot;179px&amp;quot;&amp;gt;&amp;lt;/asp:Label&amp;gt;        &lt;br /&gt;
        &amp;lt;asp:TextBox ID=&amp;quot;txtCategoryName&amp;quot; runat=&amp;quot;server&amp;quot;/&amp;gt;               &lt;br /&gt;
        &amp;amp;nbsp;&lt;br /&gt;
        &amp;lt;asp:Button ID=&amp;quot;btnSave&amp;quot; runat=&amp;quot;server&amp;quot; Text=&amp;quot;Save&amp;quot; Width=&amp;quot;92px&amp;quot; OnClick=&amp;quot;btnSave_Click&amp;quot;/&amp;gt;        &lt;br /&gt;
        &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
        &amp;lt;asp:Label ID=&amp;quot;lblResult&amp;quot; runat=&amp;quot;server&amp;quot; Font-Bold=&amp;quot;true&amp;quot; Font-Size=&amp;quot;Small&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Working with Transactions with an SQL Server Database==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=VB Debug=true %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;%@ Import Namespace=&amp;quot;System.Data.SQLClient&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=server&amp;gt;&lt;br /&gt;
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)&lt;br /&gt;
    Dim DBConn as SQLConnection&lt;br /&gt;
    Dim DBDelete As New SQLCommand&lt;br /&gt;
    Dim DBTrans As SQLTransaction&lt;br /&gt;
&amp;quot;        DBConn = New SQLConnection(&amp;quot;server=localhost;&amp;quot; _&lt;br /&gt;
 &amp;quot;           &amp;amp; &amp;quot;Initial Catalog=TT;&amp;quot; _&lt;br /&gt;
  &amp;quot;          &amp;amp; &amp;quot;User Id=sa;&amp;quot; _&lt;br /&gt;
   &amp;quot;         &amp;amp; &amp;quot;Password=yourpassword;&amp;quot;)&lt;br /&gt;
    DBConn = New SQLConnection(&amp;quot;Data Source=whsql-v08.prod.mesa1.secureserver.net;Initial Catalog=DB_49907;User ID=nfexuser;Password=&amp;quot;password&amp;quot;;&amp;quot;)&lt;br /&gt;
    DBConn.Open()&lt;br /&gt;
    DBTrans = DBConn.BeginTransaction()&lt;br /&gt;
    DBDelete.Connection = DBConn&lt;br /&gt;
    DBDelete.Transaction = DBTrans&lt;br /&gt;
    DBDelete.rumandText = &amp;quot;Delete From Employee &amp;quot; _&lt;br /&gt;
        &amp;amp; &amp;quot;Where ID = 1&amp;quot;&lt;br /&gt;
    DBDelete.ExecuteNonQuery()&lt;br /&gt;
    DBDelete.rumandText = &amp;quot;Delete From Employee &amp;quot; _&lt;br /&gt;
        &amp;amp; &amp;quot;Where ID = 2&amp;quot;&lt;br /&gt;
    DBDelete.ExecuteNonQuery()&lt;br /&gt;
    DBTrans.RollBack()&lt;br /&gt;
    lblMessage.Text = &amp;quot;No action was taken.&amp;quot;&lt;br /&gt;
    &amp;quot;DBTrans.rumit()&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&amp;lt;HTML&amp;gt;&lt;br /&gt;
&amp;lt;HEAD&amp;gt;&lt;br /&gt;
&amp;lt;TITLE&amp;gt;Working with Transactions with an SQL Server Database&amp;lt;/TITLE&amp;gt;&lt;br /&gt;
&amp;lt;/HEAD&amp;gt;&lt;br /&gt;
&amp;lt;Body LEFTMARGIN=&amp;quot;40&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;form runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&lt;br /&gt;
&amp;lt;asp:label&lt;br /&gt;
    id=&amp;quot;lblMessage&amp;quot;&lt;br /&gt;
    runat=&amp;quot;Server&amp;quot;&lt;br /&gt;
/&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/BODY&amp;gt;&lt;br /&gt;
&amp;lt;/HTML&amp;gt;&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>