http://hi.baidu.com/luchaoshuai/blog/item/cb820136beb149dea3cc2bc9.html
.net事务小例
private void ShowMsg(string msg) { Literal txtMsg = new Literal(); txtMsg.Text = "<script> alert('"+ msg +"')</script>"; Page.Controls.Add(txtMsg); } protected void Button1_Click(object sender, EventArgs e) { string connString = WebConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(connString); conn.Open(); SqlTransaction tran = conn.BeginTransaction(); string strSQL = "insert into Employees(FirstName,LastName,City,Address) values (@FirstName,@LastName,@City,@Address)"; SqlCommand cmd = new SqlCommand(strSQL,conn,tran); try { cmd.Parameters.Add("FirstName", SqlDbType.NVarChar, 20);//增加一个参数 cmd.Parameters["FirstName"].Value = TextBox1.Text;//给参数赋值 cmd.Parameters.Add("LastName", SqlDbType.NVarChar, 20).Value = TextBox2.Text;//增加一个参数并赋值。和上面的两句一样 cmd.Parameters.Add("City", SqlDbType.NVarChar, 15).Value = TextBox3.Text; cmd.Parameters.Add("Address", SqlDbType.NVarChar, 15).Value = TextBox4.Text; int i = cmd.ExecuteNonQuery(); tran.Commit(); ShowMsg("事务成功执行。成功添加"+i+"条记录"); this.GridView1.DataBind(); } catch (Exception) { tran.Rollback(); ShowMsg("事务执行失败"); } finally { conn.Close(); conn.Dispose(); tran.Dispose(); cmd.Dispose(); } }