本文整理汇总了C#中System.Data.Common.DbTransaction.Rollback方法的典型用法代码示例。如果您正苦于以下问题:C# DbTransaction.Rollback方法的具体用法?C# DbTransaction.Rollback怎么用?C# DbTransaction.Rollback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Common.DbTransaction
的用法示例。
在下文中一共展示了DbTransaction.Rollback方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ArticleDelete
/// <summary>
/// ���� ɾ��
/// </summary>
/// <param name="id">Id ���</param>
/// <returns>ִ�н��</returns>
public int ArticleDelete(out string resultMsg, string authorizeInfo, Int32 id, DbTransaction tran = null)
{
resultMsg = string.Empty;
int res = 0;
try
{
//�洢��������
string sql = "usp_article_Delete_by_id";
//�������
IList<DBParameter> parm = new List<DBParameter>();
parm.Add(new DBParameter() { ParameterName = "ID", ParameterValue = id, ParameterInOut = BaseDict.ParmIn, ParameterType = DbType.Int32 });
//����ִ��
res = DBHelper.ExecuteNonQuery(authorizeInfo, sql, true, parm, tran);
}
catch (AuthorizeException ex)
{
throw ex;
}
catch (Exception ex)
{
if (tran != null)
tran.Rollback();
resultMsg = string.Format("{0} {1}", BaseDict.ErrorPrefix, ex.ToString());
}
return res;
}
示例2: OrganizationDelete
/// <summary>
/// ���� ɾ��
/// </summary>
/// <param name="orgid">Orgid ���</param>
/// <returns>ִ�н��</returns>
public int OrganizationDelete(out string resultMsg, Int32 orgid, DbTransaction tran = null)
{
resultMsg = string.Empty;
int res = 0;
try
{
//�洢��������
string sql = "usp_organization_delete";
//�������
IList<DBParameter> parm = new List<DBParameter>();
parm.Add(new DBParameter() { ParameterName = "Id", ParameterValue = orgid, ParameterInOut = BaseDict.ParmIn, ParameterType = DbType.Int32 });
parm.Add(new DBParameter() { ParameterName = "resultMsg", ParameterInOut = BaseDict.ParmOut, ParameterType = DbType.String });
//����ִ��
res = DBHelper.ExecuteNonQuery(sql, true, parm, tran);
foreach (var item in parm)
{
//��ȡ�������ֵ
if (item.ParameterName == "resultMsg")
{
resultMsg = item.ParameterValue.ToString();
break;
}
}
}
catch (Exception ex)
{
if(tran != null)
tran.Rollback();
resultMsg = string.Format("{0} {1}", BaseDict.ErrorPrefix, ex.ToString());
}
return res;
}
示例3: DetaildataDelete
/// <summary>
/// 数据 删除
/// </summary>
/// <param name="djbm">Djbm 单据编码</param>
/// <param name="spxh">Spxh 商品序号</param>
/// <returns>执行结果</returns>
public int DetaildataDelete(out string resultMsg, String djbm, Int32 spxh, DbTransaction tran = null)
{
resultMsg = string.Empty;
int res = 0;
try
{
//存储过程名称
string sql = " USP_DETAILDATA_DELETE ";
//参数添加
IList<DBParameter> parm = new List<DBParameter>();
parm.Add(new DBParameter() { ParameterName = "DJBM", ParameterValue = djbm, ParameterInOut = BaseDict.ParmIn, ParameterType = DbType.String });
parm.Add(new DBParameter() { ParameterName = "SPXH", ParameterValue = spxh, ParameterInOut = BaseDict.ParmIn, ParameterType = DbType.Int32 });
parm.Add(new DBParameter() { ParameterName = "resultMsg", ParameterInOut = BaseDict.ParmOut, ParameterType = DbType.String });
//更新执行
res = DBHelper.ExecuteNonQuery(sql, true, parm, tran);
foreach (var item in parm)
{
//获取输出参数值
if (item.ParameterName == "resultMsg")
{
resultMsg = item.ParameterValue.ToString();
break;
}
}
}
catch (Exception ex)
{
if (tran != null)
tran.Rollback();
resultMsg = string.Format("{0} {1}", BaseDict.ErrorPrefix, ex.ToString());
}
return res;
}
示例4: AddPO
public bool AddPO(PO po)
{
bool result = false;
try
{
Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
connection = db.CreateConnection();
connection.Open();
transaction = connection.BeginTransaction();
DbCommand dbCommand = db.GetStoredProcCommand(Constant.SP_PO_Insert);
db.AddInParameter(dbCommand, "@sPOCode", DbType.String, po.POCode);
db.AddInParameter(dbCommand, "@mPOAmount", DbType.Currency, po.POAmount);
db.AddInParameter(dbCommand, "@mBalanceAmount", DbType.Currency, po.BalanceAmount);
db.AddInParameter(dbCommand, "@iPOCreatedUser", DbType.Int32, po.POCreatedUser);
db.AddInParameter(dbCommand, "@iSupId", DbType.Int32, po.SupId);
db.AddInParameter(dbCommand, "@dtPODate", DbType.DateTime, po.PODate);
db.AddInParameter(dbCommand, "@iRequestedBy", DbType.Int32, po.RequestedBy.Value);
db.AddInParameter(dbCommand, "@sPOComment", DbType.String, po.POComment);
db.AddOutParameter(dbCommand, "@iPOId", DbType.Int32, 4);
if (db.ExecuteNonQuery(dbCommand, transaction) > 0)
{
Int32 newPOID = (Int32)db.GetParameterValue(dbCommand, "@iPOId");
if (newPOID > 0)
{
po.POId = newPOID;
if (this.UpdatePOItems(po, db, transaction))
{
transaction.Commit();
result = true;
}
}
}
}
catch (System.Exception ex)
{
ex.Data.Add("BusinessLayerException", GetType().ToString() + Constant.Error_Seperator + "public bool AddPO(PO po)");
transaction.Rollback();
throw ex;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return result;
}
示例5: Rollback
private void Rollback(DbTransaction tx)
{
try
{
tx.Rollback();
}
catch (Exception ex)
{
_log.Error(ex);
}
}
示例6: AddPR
public bool AddPR(PurchaseReturns pr)
{
bool result = false;
try
{
Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
connection = db.CreateConnection();
connection.Open();
transaction = connection.BeginTransaction();
DbCommand dbCommand = db.GetStoredProcCommand(Constant.SP_PR_Insert);
db.AddInParameter(dbCommand, "@iGRNId", DbType.Int64, pr.GRNId);
db.AddInParameter(dbCommand, "@iCreatedBy", DbType.Int32, pr.CreatedBy);
db.AddInParameter(dbCommand, "@mTotalReturns", DbType.Currency, pr.TotalReturns);
db.AddInParameter(dbCommand, "@sComment", DbType.String, pr.Comment);
db.AddInParameter(dbCommand, "@dReturnDate", DbType.Date, pr.ReturnDate);
db.AddOutParameter(dbCommand, "@iPRId", DbType.Int32, 4);
db.AddOutParameter(dbCommand, "@sPRCode", DbType.String, 10);
if (db.ExecuteNonQuery(dbCommand, transaction) > 0)
{
Int32 newPRID = (Int32)db.GetParameterValue(dbCommand, "@iPRId");
string prCode = (string)db.GetParameterValue(dbCommand, "@sPRCode");
if (newPRID > 0)
{
pr.PRId = newPRID;
pr.PRCode = prCode;
if (this.UpdatePRItems(pr, db, transaction))
{
transaction.Commit();
result = true;
}
}
}
}
catch (System.Exception ex)
{
ex.Data.Add("BusinessLayerException", GetType().ToString() + Constant.Error_Seperator + "public bool AddPR(PurchaseReturns pr)");
transaction.Rollback();
throw ex;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return result;
}
示例7: DeleteOrder
public ActionResult DeleteOrder(int id)
{
try
{
db.Connection.Open();
transaction = db.Connection.BeginTransaction();
var resShipTo = (from i in db.shipTo
where i.ID == id
select i).FirstOrDefault();
var resItCart = from i in db.itCart
where i.shipToID == id
select i;
var resDB = from i in db.OrderDashBoards
where i.shipToID == id
select i;
if (resShipTo.getOState.Descr.Contains("Создан заказ"))
{
if (resDB != null)
{
foreach (var i in resDB)
{
db.DeleteObject(i);
}
}
if (resItCart != null)
{
foreach (var i in resItCart)
{
db.DeleteObject(i);
}
}
if (resShipTo != null)
{
db.DeleteObject(resShipTo);
}
db.SaveChanges();
transaction.Commit();
}
}
catch
{
if (transaction != null)
{
transaction.Rollback();
}
}
return RedirectToAction("Index", new { parUser = User.Identity.Name });
}
示例8: AddGetPass
public bool AddGetPass(GetPass getPass)
{
bool result = false;
try
{
Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
connection = db.CreateConnection();
connection.Open();
transaction = connection.BeginTransaction();
DbCommand cmd = db.GetStoredProcCommand(Constant.SP_GetPass_Add);
db.AddInParameter(cmd, "@sGPCode", DbType.String, getPass.GPCode);
db.AddInParameter(cmd, "@iInvoiceId", DbType.Int32, getPass.InvoiceId);
db.AddInParameter(cmd, "@iCreatedBy", DbType.Int32, getPass.CreatedBy);
db.AddOutParameter(cmd, "@biGPId", DbType.Int64, 8);
if (db.ExecuteNonQuery(cmd, transaction) > 0)
{
Int32 newGatePassID = Convert.ToInt32(db.GetParameterValue(cmd, "@biGPId"));
if (newGatePassID > 0)
{
getPass.GPId = newGatePassID;
if (this.UpdateGetPassDetails(getPass, db, transaction))
{
transaction.Commit();
result = true;
}
}
}
}
catch (System.Exception ex)
{
transaction.Rollback();
result = false;
throw ex;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return result;
}
示例9: Add
public void Add(Order order)
{
owner = GetOwner();
vendor = GetVendor(order.VendorID);
using (cn = dbContext.Database.Connection)
{
try
{
cn.Open();
tran = cn.BeginTransaction();
DbCommand cmd = cn.CreateCommand();
cmd.Transaction = tran;
cmd.CommandText = @"INSERT INTO tblSO (SOCode, SODate, BranchId, CurrencyId, EmployeeId, VendorID, TermID, TaxID, SOGrossAmt, SONetAmt, StatusID, Operator, Computer, LastUpdate)
VALUES (@SOCode, @SODate, @BranchId, @CurrencyId, @EmployeeId, @VendorId, @TermId, 0, @SOGrossAmt, @SONetAmt, 0, @Operator, @Computer, @LastUpdate); SELECT IDENT_CURRENT('tblSO');";
cmd.Parameters.Add(new SqlParameter("@SOCode", order.SOCode));
cmd.Parameters.Add(new SqlParameter("@SODate", order.SODate));
cmd.Parameters.Add(new SqlParameter("@BranchId", order.BranchID));
cmd.Parameters.Add(new SqlParameter("@CurrencyId", order.CurrencyId));
cmd.Parameters.Add(new SqlParameter("@EmployeeId", owner.EmployeeId));
cmd.Parameters.Add(new SqlParameter("@VendorId", vendor.Id));
cmd.Parameters.Add(new SqlParameter("@TermId", owner.DefTerm));
cmd.Parameters.Add(new SqlParameter("@SOGrossAmt", order.SOGrossAmt));
cmd.Parameters.Add(new SqlParameter("@SONetAmt", order.SONetAmt));
cmd.Parameters.Add(new SqlParameter("@Operator", order.Username));
cmd.Parameters.Add(new SqlParameter("@Computer", System.Environment.MachineName));
cmd.Parameters.Add(new SqlParameter("@LastUpdate", DateTime.Now));
soId = Convert.ToInt32(cmd.ExecuteScalar());
foreach (OrderItem item in order.Items)
{
AddOrderItem(item);
}
tran.Commit();
}
catch (Exception ex)
{
if (tran != null)
tran.Rollback();
throw ex;
}
finally
{
cn.Close();
}
}
}
示例10: Create
/// <summary>
/// Creates the cheque book and saves the cheques in tha dataset dsCheques property
/// </summary>
/// <param name="chqBook"></param>
/// <returns></returns>
public bool Create(ChequeBook chqBook)
{
bool success = true;
try
{
Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
connection = db.CreateConnection();
connection.Open();
transaction = connection.BeginTransaction();
DbCommand dbCommand = db.GetStoredProcCommand(Constant.SP_Cheque_Insert);
db.AddInParameter(dbCommand, "@iNoOfCheques", DbType.Int32, chqBook.NoOfCheques);
db.AddInParameter(dbCommand, "@biFirstChqNo", DbType.Int64, chqBook.FirstChqNo);
db.AddInParameter(dbCommand, "@biLastChqNo", DbType.Int64, chqBook.LastChqNo);
db.AddInParameter(dbCommand, "@iCreatedBy", DbType.Int32, chqBook.CreatedBy);
db.AddInParameter(dbCommand, "@sBankName", DbType.String, chqBook.BankName);
db.AddInParameter(dbCommand, "@sBankBranch", DbType.String, chqBook.BankBranch);
db.AddOutParameter(dbCommand, "@iChqBookId", DbType.Int32, 4);
if (db.ExecuteNonQuery(dbCommand, transaction) > 0)
{
Int32 newChqBookId = Convert.ToInt32(db.GetParameterValue(dbCommand, "@iChqBookId"));
if (newChqBookId > 0)
{
chqBook.ChqBookId = newChqBookId;
if (this.UpdateCheques(chqBook, db, transaction))
{
transaction.Commit();
success = true;
}
}
}
}
catch (Exception ex)
{
success = false;
transaction.Rollback();
ex.Data.Add("BusinessLayerException", GetType().ToString() + Constant.Error_Seperator + "public bool Create(ChequeBook chqBook)");
throw ex;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return success;
}
示例11: AddGroups
public bool AddGroups(Group group)
{
bool result = false;
try
{
Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
connection = db.CreateConnection();
connection.Open();
transaction = connection.BeginTransaction();
DbCommand dbCommand = db.GetStoredProcCommand(Constant.SP_Groups_Insert);
db.AddInParameter(dbCommand, "@sGroupCode", DbType.String, group.GroupCode);
db.AddInParameter(dbCommand, "@sGroupName", DbType.String, group.GroupName);
db.AddInParameter(dbCommand, "@sDescription", DbType.String, group.Description);
db.AddInParameter(dbCommand, "@tiItemCount", DbType.Int16, group.ItemCount);
db.AddInParameter(dbCommand, "@bIsActive", DbType.Boolean, group.IsActive);
db.AddOutParameter(dbCommand, "@tiGroupId", DbType.Int16, 4);
if (db.ExecuteNonQuery(dbCommand, transaction) > 0)
{
Int16 newGroupId = Convert.ToInt16(db.GetParameterValue(dbCommand, "@tiGroupId"));
if (newGroupId > 0)
{
group.GroupId = newGroupId;
if (this.UpdateGroupItems(group, db, transaction))
{
transaction.Commit();
result = true;
}
}
}
}
catch (System.Exception ex)
{
transaction.Rollback();
throw ex;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return result;
}
示例12: AddItemTransfer
public bool AddItemTransfer(ItemTransfer itemTransfer)
{
bool result = false;
try
{
Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
connection = db.CreateConnection();
connection.Open();
transaction = connection.BeginTransaction();
DbCommand dbCommand = db.GetStoredProcCommand(Constant.SP_Item_Transfer_Insert);
db.AddInParameter(dbCommand, "@iInvoiceId", DbType.Int32, DBNull.Value);
db.AddInParameter(dbCommand, "@iBranchFrom", DbType.Int32, itemTransfer.BranchFrom);
db.AddInParameter(dbCommand, "@iBranchTo", DbType.Int32, itemTransfer.BranchTo);
db.AddInParameter(dbCommand, "@iTransferQty", DbType.Int32, itemTransfer.TransferQty);
db.AddInParameter(dbCommand, "@iTransferBy", DbType.Int32, itemTransfer.TransferBy);
db.AddOutParameter(dbCommand, "@iTransferId", DbType.Int32, 4);
if (db.ExecuteNonQuery(dbCommand, transaction) > 0)
{
Int32 newTransferID = Convert.ToInt32(db.GetParameterValue(dbCommand, "@iTransferId"));
if (newTransferID > 0)
{
itemTransfer.TransferId = newTransferID;
if (this.AddItemTransferInvoice(itemTransfer, db, transaction))
{
transaction.Commit();
result = true;
}
}
}
}
catch (System.Exception ex)
{
transaction.Rollback();
throw ex;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return result;
}
示例13: AddBrands
public bool AddBrands(Brand brand)
{
bool result = false;
try
{
Database db = DatabaseFactory.CreateDatabase(Constant.Database_Connection_Name);
connection = db.CreateConnection();
connection.Open();
transaction = connection.BeginTransaction();
DbCommand dbCommand = db.GetStoredProcCommand(Constant.SP_Brands_Insert);
db.AddInParameter(dbCommand, "@sBrandName", DbType.String, brand.BrandName);
db.AddOutParameter(dbCommand, "@iBrandId", DbType.Int32, 4);
if (db.ExecuteNonQuery(dbCommand, transaction) > 0)
{
Int32 newBrandID = Convert.ToInt32(db.GetParameterValue(dbCommand, "@iBrandId"));
if (newBrandID > 0)
{
brand.BrandId = newBrandID;
if (this.UpdateBrandCategories(brand, db, transaction))
{
transaction.Commit();
result = true;
}
}
}
}
catch (System.Exception ex)
{
transaction.Rollback();
throw ex;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
}
return result;
}
示例14: delFeeByPatientId
public static Boolean delFeeByPatientId(string patient_id,string admiss_times,string charge_code)
{
DbConnection con = db.open();
command = con.CreateCommand();
trans = con.BeginTransaction();
command.Transaction = trans;
try {
sql = string.Format("insert into zy_detail_charge_zzdelete(patient_id,admiss_times,ledger_sn,detail_sn,occ_time,confirm_time,happen_date,charge_code,bill_item_code,audit_code,orig_price,charge_price,charge_amount,charge_group,apply_opera,confirm_opera,charge_status,infant_flag,self_flag,separate_flag,suprice_flag,drug_flag,emergency_flag,ope_flag,apply_status,pay_self,serial,ward_sn,dept_sn,order_no,exec_unit,group_no,page_no,page_type,report_date,adt_dept_no,back_flag,orig_dept,orig_ward,cash_date,account_date,doctor_code,samp_id,occ_page_no,fit_flag,samp_barcode,samp_type,charge_fee,parent_detail_sn) select patient_id,admiss_times,ledger_sn,detail_sn,occ_time,confirm_time,happen_date,charge_code,bill_item_code,audit_code,orig_price,charge_price,charge_amount,charge_group,apply_opera,confirm_opera,charge_status,infant_flag,self_flag,separate_flag,suprice_flag,drug_flag,emergency_flag,ope_flag,apply_status,pay_self,serial,ward_sn,dept_sn,order_no,exec_unit,group_no,page_no,page_type,report_date,adt_dept_no,back_flag,orig_dept,orig_ward,cash_date,account_date,doctor_code,samp_id,occ_page_no,fit_flag,samp_barcode,samp_type,charge_fee,parent_detail_sn FROM view_zy_detail_charge_c where patient_id ='{0}' and admiss_times = {1} and charge_code = '{2}' ", patient_id, admiss_times, charge_code);
//insert into zy_detail_charge_zzdelete select [patient_id] ,[admiss_times],[ledger_sn],[detail_sn],[occ_time],[confirm_time],[happen_date],[charge_code] ,[bill_item_code] ,[audit_code] ,[orig_price] ,[charge_price],[charge_amount],[charge_group] ,[apply_opera] ,[confirm_opera],[charge_status] ,[infant_flag] ,[self_flag],[separate_flag] ,[suprice_flag],[drug_flag] ,[emergency_flag],[ope_flag],[apply_status] ,[pay_self] ,[serial] ,[ward_sn],[dept_sn] ,[order_no] ,[exec_unit] ,[group_no] ,[page_no] ,[page_type],[report_date],[adt_dept_no] ,[back_flag],[orig_dept] ,[orig_ward],[cash_date] ,[account_date] ,[doctor_code] ,[samp_id] ,[occ_page_no],[fit_flag] ,[samp_barcode] ,[samp_type],[charge_fee] ,[parent_detail_sn] ,[exec_time],[exec_status],[charge_sort] from view_zy_detail_charge_c
if (db.ExecuteNonQueryByTrans(sql, null,command) > 0)
{
sql = string.Format("delete from zy_detail_charge where patient_id ='{0}' and admiss_times ={1} and charge_code ={2} ", patient_id, admiss_times, charge_code);
if (db.ExecuteNonQueryByTrans(sql, null,command) > 0)
isDelete = true;
sql = string.Format("delete from zy_detail_charge_b where patient_id ='{0}' and admiss_times ={1} and charge_code ={2} ", patient_id, admiss_times, charge_code);
if (db.ExecuteNonQueryByTrans(sql, null,command)>0)
isDelete = true;
sql = string.Format("delete from zy_detail_charge_c where patient_id ='{0}' and admiss_times ={1} and charge_code ={2} ", patient_id, admiss_times, charge_code);
if (db.ExecuteNonQueryByTrans(sql, null,command) > 0)
isDelete = true;
}
trans.Commit();
}catch(Exception e)
{
try
{
trans.Rollback();
}
catch (SqlException ex)
{
if (con != null)
con.Close();
if (trans.Connection != null)
{
trans.Connection.Close();
}
}
}
return isDelete;
}
示例15: RollbackTransaction
internal static void RollbackTransaction(DbTransaction dbTrans)
{
if (dbTrans == null)
{
throw new ArgumentNullException("dbTrans");
}
// Get transaction connection for closing before rollback
DbConnection dbConn = dbTrans.Connection;
try
{
// Rollback transaction
dbTrans.Rollback();
}
finally
{
// Close connection
if (dbConn != null)
{
dbConn.Close();
}
}
}