事务处理案例

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("&nbsp;", "");
string Description = gvquotation.Rows[i].Cells[0].Text.Trim().Replace("&nbsp;", ""); ;
string Item = gvquotation.Rows[i].Cells[1].Text.Trim().Replace("&nbsp;", ""); ;
string Spec = gvquotation.Rows[i].Cells[2].Text.Trim().Replace("&nbsp;", ""); ;
decimal Usage = Convert.ToDecimal(gvquotation.Rows[i].Cells[3].Text.Trim());
string Uint = gvquotation.Rows[i].Cells[4].Text.Trim().Replace("&nbsp;", ""); ;
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;

}

今天在做报价单的时候发现,需要做一个事务处理!

特地做了一个列子供大家 交流学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值