private bool SaveQuotation()
{
bool saveReault = false;
Quotation quo = new Quotation();
quo.Pricingcode = txtpricingcode.Text.Trim();
if (quo.DocumentNoExist())
{
JScript.Alert("该报价单已报过价格!", this.Page);
return false;
}
using (SqlConnection cn = new SqlConnection(SqlHelper.conn))
{
cn.Open();
SqlTransaction transaction = cn.BeginTransaction();
try
{
//插入单头
string strInsert = string.Format("insert Quo_Standardcost(ClientNo,[Description],PartNo,Rate,Engineer,PricingCode,[Date])values('{0}','{1}','{2}',{3},'{4}','{5}',{6})", txtclientno.Text.Trim(), txtdescription.Text.Trim(), txtpartno.Text.Trim(), txtrate.Text.Trim(),Engineer, txtpricingcode.Text.Trim(), txtdate.Text.Trim() );
string tt = strInsert;
SqlHelper.ExecuteNonQuery(transaction, CommandType.Text, strInsert);
//插入单身
for (int i = 0; i <= gvquotation.Rows.Count - 1; i++)
{
string pricingcode = txtpricingcode.Text.Trim().Replace(" ", "");
string Description = gvquotation.Rows[i].Cells[0].Text.Trim().Replace(" ", ""); ;
string Item = gvquotation.Rows[i].Cells[1].Text.Trim().Replace(" ", ""); ;
string Spec = gvquotation.Rows[i].Cells[2].Text.Trim().Replace(" ", ""); ;
decimal Usage = Convert.ToDecimal(gvquotation.Rows[i].Cells[3].Text.Trim());
string Uint = gvquotation.Rows[i].Cells[4].Text.Trim().Replace(" ", ""); ;
decimal Currency = Convert.ToDecimal(gvquotation.Rows[i].Cells[3].Text.Trim());
string strInserdetail = string.Format("Insert Quo_Standardcostdetail(PricingCode,[Description],Item,Spec,Usage,Currency)values('{0}','{1}','{2}','{3}',{4},{5})",pricingcode,Description ,Item,Spec,Usage,Currency);
SqlHelper.ExecuteNonQuery(transaction, CommandType.Text, strInserdetail);
}
transaction.Commit();
saveReault = true;
}
catch (Exception e)
{
JScript.Alert("报价单发生错误:"+e.Message.ToString()+"请检查数据或者与管理员联系!", this.Page);
transaction.Rollback();
}
finally
{
transaction = null;
}
}
return saveReault;
}
今天在做报价单的时候发现,需要做一个事务处理!
特地做了一个列子供大家 交流学习
分享到:
相关推荐
基于XA的非Maven 基于SpringMVC+Spring+MyBatis+Atomikos的分布式事务处理案例源码,亲自测试可以使用。能SSM多数据源环境和分布式环境下事务处理问题.
多服务器实现分布式事务功能! 安装DTC组件,设置MSDTC,注意:双方都要启动MSDTC服务,MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135...
事务处理案例,简单的一个案例自己学习
微服务架构的分布式事务处理方案
session+sqltransaction实现简单事务,实现批量数据整体上传
针对Java Spring 框架的核心技术场景案例,AOP和事务处理部分的应用案例,涉及业务层接口万次执行效率,百度网盘密码数据兼容处理和转账业务追加日志三个案例
数据库事务的几个特性:原子性(Atomicity )、一致性( Consistency )、隔离性或独立性( Isolation)和持久性(Durabilily),简称就是ACID。 从广义上来看,分布式事务其实也是事务,只是由于业务上的定义以及微服务架构...
JavaBean中使用JDBC方式进行事务处理方案 有详细的事物处理代码
大家跨服务器加事务的时候经常遇到以下报错:导入Microsoft分布式事务处理协调器MSDTC,网上大部分教程都是服务器配置msdtc,但是发现两个服务器都配置之后还是不行,可参照此图片解决,已验证过,不好用找我,最低...
本教程将基于支付系统真实业务中的经典场景来对“可靠消息的最终一致性方案”、“TCC两阶段型方案”和“最大努力通知型方案”这3种柔性事务解决方案进行具体设计实现和详细讲解。 本教程提供的分布式事务解决方案的...
#资源达人分享计划#
Shardingsphere-jdbc-nocas-seata用seata分布式事务处理方案分布式事务处理方案,seata分布式事务:项目Spring Cloud + ShardingSphereJDBC + nacos + seata分组事务+ fegin
mysql事务处理用法与实例详解
实现系统对多数据源的操作。 实现系统对多数据源的分布式事务管理,包括事务的提交和回滚。
支付宝-分布式处理方案 ;大规模SOA系统中的分布事务处理.pdf
Spring延迟加载和声明式事务处理最终解决方案(修正版)
一个典型的分布式事务过程:分布式事务处理过程的-ID+三组件模型 Transaction ID XID :全局唯一的事务ID Transaction Coordinator(TC) :事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或...
数据仓库和在线事务处理网络解决方案.pdf
大规模SOA系统中的分布式事务处理_程立 经典中的经典,蚂蚁CTO 分享的分布式事务解决方案
该项目是一个采用消息队列解决分布式事务的开源框架,基于Java语言开发(JDK1.8),并支持dubbo、springcloud、motan等RPC框架进行分布式事务处理。通过该项目,开发者可以学习并实践分布式事务的处理,为后续的...