public bool SaveCheckOmitAdd(string strBarcode, Basic.Area.AreaInfo areaInfo, ref string strErrMsg) { return(_db.SaveCheckOmitAdd(strBarcode, areaInfo, ref strErrMsg)); }
public bool SaveCheckOmitAdd(string strBarcode, Basic.Area.AreaInfo areaInfo, ref string strErrMsg) { SqlCommand cmd = new SqlCommand(); SqlConnection conn = new SqlConnection(); SqlDataAdapter adp = new SqlDataAdapter(); conn.ConnectionString = OperationSql.connectionString; try { conn.Open(); } catch (Exception ex) { strErrMsg = ex.Message; return(false); } SqlTransaction myTran; myTran = conn.BeginTransaction(); cmd.Connection = conn; cmd.Transaction = myTran; //SqlDataReader reader = null; string sql = null; try { int iSn = 0; cmd.CommandText = "P_GetNewSeqVal_SEQ_STOCK"; //指定SqlCommand对象传给数据库的是存储过程的名称而不是sql语句 cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Clear(); cmd.Parameters.Add(new SqlParameter("@ID", SqlDbType.Int)); //指定"@ID"为输出参数 cmd.Parameters[0].Direction = ParameterDirection.Output; //执行 cmd.ExecuteNonQuery(); iSn = Convert.ToInt32(cmd.Parameters["@ID"].Value); cmd.CommandType = CommandType.Text; cmd.Parameters.Clear(); sql = string.Format(@"insert into t_stock (id,barcode,serialno,materialno,materialdesc,warehouseno,houseno,areano,qty, status,isdel,creater,createtime,batchno,sn,returnsupcode,returnreson,returnsupname) select {0} id,barcode,serialno,materialno,materialdesc,'{1}','{2}','{3}', qty,1,0,'admin',GETDATE(),batchno,sn,(case when vouchertype=30 then supcode end ), reason,(case when vouchertype=30 then supname end ) from t_outbarcode where serialno = '{4}'", iSn, areaInfo.WarehouseNo, areaInfo.HouseNo, areaInfo.AreaNo, strBarcode); cmd.CommandText = sql; cmd.ExecuteNonQuery(); if (areaInfo.AreaType == 1) { sql = string.Format("update T_OUTBARCODE set iFlag=3 where serialno='{0}'", strBarcode); } else { sql = string.Format("update T_OUTBARCODE set iFlag=2 where serialno='{0}'", strBarcode); } cmd.CommandText = sql; cmd.ExecuteNonQuery(); myTran.Commit(); return(true); } catch (Exception ex) { strErrMsg = ex.Message; myTran.Rollback(); return(false); } finally { //if (reader != null && !reader.IsClosed) // reader.Close(); conn.Close(); } }