標籤:表示 cut cat cmd ack on() tran back add
事務->:事務是恢複和並發控制的基本單位
->事務具有四個特性:原子性、隔離性、一致性、持久性。這四個特性通常稱為ACID
Begin transaction/tran --開始事務
Commit transaction/tran --提交事務
Rollback transaction/tran --復原事務
Select * from userinfo with(nolock) --表示在查詢的時候不加共用鎖定
一個簡單的小案例
using (SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
//開始事務
SqlTransaction ts = conn.BeginTransaction();
try
{
string sql = "insert into BuyRecord(UID,PID,BRNum,BRTime) values(@uid,@pid,@num,@time)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Transaction = ts;
cmd.Parameters.AddWithValue("@uid", brm.UID);
cmd.Parameters.AddWithValue("@pid", brm.PID);
cmd.Parameters.AddWithValue("@num", brm.BRNum);
cmd.Parameters.AddWithValue("@time", DateTime.Now);
cmd.ExecuteNonQuery();
string uptsql = " update ProductInfo set [email protected] where [email protected]";
cmd.CommandText = uptsql;
cmd.Parameters.AddWithValue("@buyNum", brm.BRNum);
cmd.Parameters.AddWithValue("@id", brm.PID);
cmd.ExecuteNonQuery();
ts.Commit();
return 1;
}
catch (Exception)
{
ts.Rollback();
return -1;
throw;
}
事務 c#