SqlTransaction trong asp.net

Bài này hướng dẫn cách dùng transaction với SqlTransaction

SqlTransaction tran = null;
try
{
string stringConnection = ConfigurationManager.ConnectionStrings[“InventoryConnectionString”].ConnectionString;
SqlConnection con = new SqlConnection(stringConnection);
con.Open();
tran = con.BeginTransaction(“Order”);

SqlCommand cmdOrder = con.CreateCommand() ;

cmdOrder.CommandText = “InsertOrder”;
cmdOrder.CommandType = CommandType.StoredProcedure;

cmdOrder.Parameters.Add(“@OrderID”, this.tbOrderID.Text);
cmdOrder.Parameters.Add(“@CustomerID”, this.lblCustomerID.Text);
cmdOrder.Parameters.Add(“@OrderDate”, this.dtpOrderDate.Value);
cmdOrder.Parameters.Add(“@OrderType”, ‘X’);
cmdOrder.Parameters.Add(“@PaidAmt”, this.tbTratruoc.Text);
//REM
//cmdOrder.Parameters.Add(“RETURN_VALUE”, SqlDbType.Int);
//cmdOrder.Parameters[“RETURN_VALUE”].Direction = ParameterDirection.ReturnValue;
cmdOrder.Connection = con;
cmdOrder.Transaction = tran;

cmdOrder.ExecuteNonQuery();
//con.Close();
//REM
//int order_id =Convert.ToInt32( cmdOrder.Parameters[“RETURN_VALUE”].Value);

//con.Open();
SqlCommand cmd2 = con.CreateCommand();
cmd2.CommandText = “AddOrderDetails”;
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.Connection = con;
cmd2.Transaction = tran;
for(int i=0;i 0) cmd2.Parameters.Clear();

cmd2.Parameters.Add(“@OrderID”, tbOrderID.Text);
cmd2.Parameters.Add(“@ProductID”, grdBanhang.Rows[i].Cells[0].Value == null ? “” : grdBanhang.Rows[i].Cells[0].Value.ToString());
cmd2.Parameters.Add(“@Quantity”, grdBanhang.Rows[i].Cells[2].Value == null ? 0 : Convert.ToInt32(grdBanhang.Rows[i].Cells[2].Value.ToString()));
cmd2.Parameters.Add(“@UnitPrice”, grdBanhang.Rows[i].Cells[3].Value ==null ? 0 : Convert.ToDecimal(grdBanhang.Rows[i].Cells[3].Value.ToString()));
cmd2.Parameters.Add(“@Note”, grdBanhang.Rows[i].Cells[5].Value == null ? “” : grdBanhang.Rows[i].Cells[5].Value.ToString());
cmd2.Parameters.Add(“@Type”, “X”);
cmd2.ExecuteNonQuery();
}

//Update Debt in Customers table
SqlCommand cmd3 = new SqlCommand(“UpdateDebt”, con);
cmd3.CommandType = CommandType.StoredProcedure;
cmd3.Parameters.AddWithValue(“@CustomerID”, this.lblCustomerID.Text);
cmd3.Parameters.AddWithValue(“@Amt”, Convert.ToDecimal(this.tbConNo.Text));
cmd3.Transaction = tran;

cmd3.ExecuteNonQuery();

//Commit transaction
tran.Commit();
}
catch (Exception ex)
{
//Rollback Transaction
tran.Rollback();
MessageBox.Show(“Có lỗi xảy ra: ” + ex.Message, “Inventory Management System”, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

Về tieuyeuit
Lập trình viên Asp.net Tôi chia sẻ một,bạn chia sẻ một và chúng ta có rất nhiều!

One Response to SqlTransaction trong asp.net

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: