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;
}
今天在做报价单的时候发现,需要做一个事务处理!
特地做了一个列子供大家 交流学习