sqlserver ADO.net 查询数据库加锁,事务提交
生活随笔
收集整理的這篇文章主要介紹了
sqlserver ADO.net 查询数据库加锁,事务提交
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//邏輯:查詢表最大單號,然后鎖表(TABLOKX) ,然后執行事務
using (SqlConnection conn = EFContext.Database.Connection as SqlConnection) {System.Data.SqlClient.SqlCommand cm = new System.Data.SqlClient.SqlCommand();cm.Connection = conn;conn.Open();System.Data.SqlClient.SqlTransaction trans = conn.BeginTransaction();try{cm.Transaction = trans;//獲取寫進ERP的單據號cm.CommandText = "select max(MasterId) from TBusTran WITH (TABLOCKX)";SqlDataReader dr = cm.ExecuteReader();while (dr.Read()){int n = 0;while (n < dr.FieldCount) //.FieldCount獲取當前行的列數 {newMasterId = GetSerialNumber_Tran(dr[n].ToString(), "P");n++;}}dr.Close();string sql8 = string.Format("insert into TBusQualityProblem_FlowView([FlowNo],[OperatName],[OperatDate],[OperatType],[Status])values('{0}','{1}','{2}','{3}','{4}')",MasterId, Opr_LoginId, DatetimeNow, OperatType, Status);cm.CommandText = sql8;cm.ExecuteNonQuery();trans.Commit();} catch (Exception){trans.Rollback();result.Success = false;result.Message = "操作異常!";throw;}finally{conn.Close();trans.Dispose();conn.Dispose();}}
using (SqlConnection conn = EFContext.Database.Connection as SqlConnection) {System.Data.SqlClient.SqlCommand cm = new System.Data.SqlClient.SqlCommand();cm.Connection = conn;conn.Open();System.Data.SqlClient.SqlTransaction trans = conn.BeginTransaction();try{cm.Transaction = trans;//獲取寫進ERP的單據號cm.CommandText = "select max(MasterId) from TBusTran WITH (TABLOCKX)";SqlDataReader dr = cm.ExecuteReader();while (dr.Read()){int n = 0;while (n < dr.FieldCount) //.FieldCount獲取當前行的列數 {newMasterId = GetSerialNumber_Tran(dr[n].ToString(), "P");n++;}}dr.Close();string sql8 = string.Format("insert into TBusQualityProblem_FlowView([FlowNo],[OperatName],[OperatDate],[OperatType],[Status])values('{0}','{1}','{2}','{3}','{4}')",MasterId, Opr_LoginId, DatetimeNow, OperatType, Status);cm.CommandText = sql8;cm.ExecuteNonQuery();trans.Commit();} catch (Exception){trans.Rollback();result.Success = false;result.Message = "操作異常!";throw;}finally{conn.Close();trans.Dispose();conn.Dispose();}}
?
轉載于:https://www.cnblogs.com/zoumin123/p/9142242.html
總結
以上是生活随笔為你收集整理的sqlserver ADO.net 查询数据库加锁,事务提交的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [FJOI2007]轮状病毒
- 下一篇: centos 7下独立的python 2