现在的位置: 首页 > 综合 > 正文

事务处理案例

2013年11月21日 ⁄ 综合 ⁄ 共 2429字 ⁄ 字号 评论关闭

    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;

    }

 

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

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

 

 

【上篇】
【下篇】

抱歉!评论已关闭.