asp.net 使用事務
更新時間:2010年02月25日 16:53:22 作者:
假如我們要同時更新幾張表就必定需要使用事務操作。
ASP.NET操作事務非常的簡單,代碼如下:
代碼
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Transactions;
public partial class swstudy : System.Web.UI.Page
{
private SqlConnection conn;
protected void Page_Load(object sender, EventArgs e)
{
}
private SqlConnection GetConnection()
{
if (conn!=null&&conn.State == ConnectionState.Open)
{
return conn;
}
else
{
return conn= new SqlConnection("server=PC-200911131211;database=test;uid=sa;pwd=sa123456");
}
}
//提交
protected void Button1_Click(object sender, EventArgs e)
{
string str1 = this.TextBox1.Text;
string str2 = this.TextBox2.Text;
using (GetConnection())
{
conn.Open();
//事務
SqlTransaction tran;
tran = conn.BeginTransaction();
//提交一
SqlCommand cmd1 = new SqlCommand("insert into m1(m1,m2)values('" + str1 + "','" + str2 + "')", conn);
cmd1.Transaction = tran;
//提交二
SqlCommand cmd2 = new SqlCommand("insert into messages(msg)values('" + str1 + "')", conn);
cmd2.Transaction = tran;
try
{
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
tran.Commit();//提交事物
Response.Write("<script>alert('全部提交OK')</script>");
}
catch
{
tran.Rollback();//回滾操作
Response.Write("<script>alert('事務回滾')</script>");
}
finally
{
conn.Close();
}
}
}
}
代碼
復制代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Transactions;
public partial class swstudy : System.Web.UI.Page
{
private SqlConnection conn;
protected void Page_Load(object sender, EventArgs e)
{
}
private SqlConnection GetConnection()
{
if (conn!=null&&conn.State == ConnectionState.Open)
{
return conn;
}
else
{
return conn= new SqlConnection("server=PC-200911131211;database=test;uid=sa;pwd=sa123456");
}
}
//提交
protected void Button1_Click(object sender, EventArgs e)
{
string str1 = this.TextBox1.Text;
string str2 = this.TextBox2.Text;
using (GetConnection())
{
conn.Open();
//事務
SqlTransaction tran;
tran = conn.BeginTransaction();
//提交一
SqlCommand cmd1 = new SqlCommand("insert into m1(m1,m2)values('" + str1 + "','" + str2 + "')", conn);
cmd1.Transaction = tran;
//提交二
SqlCommand cmd2 = new SqlCommand("insert into messages(msg)values('" + str1 + "')", conn);
cmd2.Transaction = tran;
try
{
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
tran.Commit();//提交事物
Response.Write("<script>alert('全部提交OK')</script>");
}
catch
{
tran.Rollback();//回滾操作
Response.Write("<script>alert('事務回滾')</script>");
}
finally
{
conn.Close();
}
}
}
}
相關文章
ASP.NET MVC如何使用Unity實現(xiàn)Ioc詳解
這篇文章主要給大家介紹了關于ASP.NET MVC如何使用Unity實現(xiàn)Ioc的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-07-07Asp.Net?Core7?preview4限流中間件新特性詳解
這篇文章主要為大家介紹了Asp.Net?Core7?preview4限流中間件的新特性示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05ASP.NETCore6開啟文件服務允許通過url訪問附件的操作方法
最近在做一個工作臺的文件上傳下載功能,主要想實現(xiàn)上傳圖片之后,可以通過url直接訪問,由于url直接訪問文件不安全,所以需要手動開啟文件服務,這篇文章主要介紹了ASP.NETCore6開啟文件服務允許通過url訪問附件,需要的朋友可以參考下2023-11-11把aspx頁面?zhèn)窝b成靜態(tài)html格式的實現(xiàn)代碼
把aspx頁面?zhèn)窝b成靜態(tài)html格式的實現(xiàn)代碼,主要是利于搜索引擎的收錄。2011-10-10Path類與Directory類與File類對路徑/目錄/文件的操作實例
本文將詳細介紹下:Path對路徑字符串進行操作/Directory和DirectoryInfo 對目錄進行操作/File和FileInfo對文件進行操作,感興趣的你可不要錯過了哈2013-02-02