62,074
社区成员
发帖
与我相关
我的任务
分享
using(TransactionScope scope = new TransactionScope())
{
//你的insert操作.
//
scope.Complete();
}
//我自己的一个事务处理例子,你照着写把知道怎么样建立事务,怎么样回滚,怎么样抛出异常就可以了
//具体sql代码就是插入语句啊,你自己可以搞定的
public static int TranPdMainPlanEdit(ProductMainPlanInfo plan, DataTable dt, string act)
{
int returnValue = -1;
if (act == "add")
{
SqlConnection conn = SqlDataProvider.GetSqlConnection();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
if(conn.State == ConnectionState.Closed)conn.Open();
SqlTransaction tran = conn.BeginTransaction();
cmd.Transaction = tran;
try
{
///是否重复插入
string sql = "select SheetNo from [tProductMainPlan] where SheetNo='"+plan.SheetNo+"'";
cmd.CommandText = sql;
string sn = cmd.ExecuteScalar() == null ? "" : cmd.ExecuteScalar().ToString();
if (sn == plan.SheetNo) { return 0; }
///插入主表
sql = "insert into [tProductMainPlan]([SheetNo],[PlanType],[PlanDate],[pNo],[TableMan],[RecordTime],[TotalMoney],[Memo]) values";
sql += "('" + plan.SheetNo + "'," + plan.PlanType + ",'"+ plan.PlanDate +"','"+ plan.PNO +"','"+ plan.TableMan +"',";
sql += "'"+plan.RecordTime.ToString()+"','"+ plan.TotalMoney.ToString() +"','"+ plan.Memo +"')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
CommonConfig.CreateSystemLog(plan.TableMan, "Table [tProductMainPlan] Insert", "添加一项经营计划,单号:"+plan.SheetNo+" 批号:"+plan.PNO+" 总金额:"+plan.TotalMoney.ToString());
cmd.CommandText = "select @@identity";
plan.SheetId = Int32.Parse(cmd.ExecuteScalar().ToString());
int addnum = 0;
for (int i = 0; i < dt.Rows.Count;i++ )
{
///插入副表
DataRow dr = dt.Rows[i];
sql = "insert into [tProductMainPlanDetail]([SheetID],[GoodsID],[GoodsCode],[GoodsName],[Model],[Spec],[Unit],[Price],[pNumber],[fNumber],[PNO],[Moneys]) values";
sql += "(" + plan.SheetId + ",'" + dr["GoodSID"].ToString() + "','" + dr["GoodsCode"].ToString() + "','" + dr["GoodsName"].ToString() + "',";
sql += "'" + dr["Model"].ToString() + "','" + dr["Spec"].ToString() + "','" + dr["Unit"].ToString() + "','" + dr["Price"].ToString() + "',";
sql += "'" + dr["pNumber"].ToString() + "','" + dr["fNumber"].ToString() + "','" + plan.PNO + "','" + dr["Moneys"].ToString() + "')";
cmd.CommandText = sql;
cmd.ExecuteNonQuery();
addnum++;
}
CommonConfig.CreateSystemLog(plan.TableMan, "Table [tProductMainPlanDetail] Insert", "添加" + addnum.ToString() + "项经营计划详细信息,计划单号:" + plan.SheetNo);
tran.Commit();
returnValue = 1;
}
catch (Exception ex)
{
tran.Rollback();
returnValue = -1;
CommonConfig.CreateErrorLog("添加经营计划出错,单号:"+plan.SheetNo+" 详细信息 \n"+ex.Message);
}
finally
{
conn.Close();
}
}
}