using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; namespace FCOMMON { public static partial class DBM { public static SqlConnection getCn() { string cs = FCOMMON.info.CS; SqlConnection cn = new SqlConnection(); cn.ConnectionString = cs; return cn; } public struct sItemInfo { public int idx; public string sid; public string model; public string supply; public string name; public string unit; public float scale; public string price; public int supplyidx; public string project; public int qty; } public static byte[] getImagByteArray(System.Drawing.Image img) { if (img == null || img.Width < 1 || img.Height < 1) return null; //이미지가 640보다 크면 조정한다. if (img.Width > 640) { var newrate = (640.0 / img.Width * 1.0); var newheight = (int)(img.Height * newrate); //높이값 다시 계산 var newimg = new System.Drawing.Bitmap(640, newheight); var g = System.Drawing.Graphics.FromImage(newimg); g.DrawImage(img, new System.Drawing.Rectangle(0, 0, 640, newheight)); g.Dispose(); img = (System.Drawing.Image)(newimg.Clone()); } else if (img.Height > 480) { var newrate = (480.0 / img.Height * 1.0); var newwidth = (int)(img.Width * newrate); //높이값 다시 계산 var newimg = new System.Drawing.Bitmap(newwidth, 480); var g = System.Drawing.Graphics.FromImage(newimg); g.DrawImage(img, new System.Drawing.Rectangle(0, 0, newwidth, 480)); g.Dispose(); img = (System.Drawing.Image)(newimg.Clone()); } System.IO.MemoryStream sm = new System.IO.MemoryStream(); img.Save(sm, System.Drawing.Imaging.ImageFormat.Jpeg); var buffer = sm.GetBuffer(); sm.Dispose(); return buffer; } public static Boolean setImageData(System.Drawing.Bitmap img, string table, string field, int idx) { return setImageData((System.Drawing.Image)img, table, field, idx); } public static Boolean setImageData(System.Drawing.Image img, string table, string field, int idx) { if (img == null || img.Width < 1||img.Height < 1) return false; //이미지가 640보다 크면 조정한다. if(img.Width > 640) { var newrate = (640.0 / img.Width * 1.0); var newheight = (int)(img.Height * newrate); //높이값 다시 계산 var newimg = new System.Drawing.Bitmap(640, newheight); var g = System.Drawing.Graphics.FromImage(newimg); g.DrawImage(img, new System.Drawing.Rectangle(0, 0, 640, newheight)); g.Dispose(); img = (System.Drawing.Image)(newimg.Clone()); } else if(img.Height > 480) { var newrate = (480.0 / img.Height * 1.0); var newwidth = (int)(img.Width * newrate); //높이값 다시 계산 var newimg = new System.Drawing.Bitmap(newwidth, 480); var g = System.Drawing.Graphics.FromImage(newimg); g.DrawImage(img, new System.Drawing.Rectangle(0, 0, newwidth,480)); g.Dispose(); img = (System.Drawing.Image)(newimg.Clone()); } var cn = getCn(); cn.Open(); Boolean retval = false; string sql = "update " + table + " set " + field + " = @data" + " where idx = @idx"; var cmd = new SqlCommand(sql, cn); System.IO.MemoryStream sm = new System.IO.MemoryStream(); img.Save(sm, System.Drawing.Imaging.ImageFormat.Jpeg); var buffer = sm.GetBuffer(); sm.Dispose(); cmd.Parameters.Add(new SqlParameter("idx", idx)); cmd.Parameters.Add(new SqlParameter("data", buffer)); try { cmd.ExecuteNonQuery(); retval = true; }catch (Exception ex) { } cn.Close(); cn.Dispose(); return retval; } /// /// 지정쿼리를 실행합니다. /// /// /// public static int ExecuteNonQuery(string sql) { var cn = getCn(); cn.Open(); var cmd = new SqlCommand(sql, cn); var retval = cmd.ExecuteNonQuery(); cn.Close(); cn.Dispose(); return retval; } public static int ExecuteScalarI(string sql) { var cn = getCn(); cn.Open(); var cmd = new SqlCommand(sql, cn); var retval = (int)(cmd.ExecuteScalar()); cn.Close(); cn.Dispose(); return retval; } public static string ExecuteScalar(string sql) { var cn = getCn(); cn.Open(); var cmd = new SqlCommand(sql, cn); var retval = cmd.ExecuteScalar().ToString(); cn.Close(); cn.Dispose(); return retval; } public static System.Drawing.Image GetImageData(string table,string field,int idx) { var cn = getCn(); cn.Open(); string sql = "select " + field + " from "+table+" where idx = " + idx.ToString(); var cmd = new SqlCommand(sql, cn); var data = cmd.ExecuteScalar() as byte[]; System.Drawing.Bitmap bmp = null; if(data != null) { System.IO.MemoryStream ms = new System.IO.MemoryStream(data); bmp = new System.Drawing.Bitmap(ms, true); ms.Dispose(); } cn.Close(); cn.Dispose(); return bmp; } public static sItemInfo getLastPurchaseInfo(int idx) { var cn = getCn(); cn.Open(); var retval = new sItemInfo(); retval.idx = -1; string sql = "select isnull(max(idx),-1) from Purchase where pumidx = " + idx.ToString(); var cmd = new SqlCommand(sql, cn); int maxidx = int.Parse(cmd.ExecuteScalar().ToString()); if (maxidx == -1) return retval; cmd.CommandText = "select * from Purchase where idx = " + maxidx.ToString(); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { retval.idx = (int)rdr["idx"]; if (rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString(); if (rdr["pumscale"] != DBNull.Value) retval.model = rdr["pumscale"].ToString(); if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString(); if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString()); else retval.supplyidx = -1; if (rdr["pumname"] != DBNull.Value) retval.name = rdr["pumname"].ToString(); if (rdr["pumunit"] != DBNull.Value) retval.unit = rdr["pumunit"].ToString(); if (rdr["project"] != DBNull.Value) retval.project = rdr["project"].ToString(); if (rdr["pumprice"] != DBNull.Value) retval.price = rdr["pumprice"].ToString(); else retval.price = "0"; if (rdr["pumqty"] != DBNull.Value) retval.qty = int.Parse(rdr["pumqty"].ToString()); else retval.qty = 0; } cn.Close(); cn.Dispose(); return retval; } /// /// 서플라이정보를 찾습니다. 1개의데이터가 검색된 경우에만 사용 됩니다. /// /// /// /// /// /// public static Boolean getFindSupply(string nameLike,out int idx,out string nameK,out string nameE) { idx = -1; nameE = ""; nameK = ""; var cn = getCn(); cn.Open(); string sql = "select idx,name,name2 from Customs where (name like '%SEEMAX%' or name2 like '%{0}%')"; sql = string.Format(sql, nameLike); var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); int cnt = 0; while (rdr.Read()) { idx = (int)rdr["idx"]; if (rdr["name"] != DBNull.Value) nameK = rdr["name"].ToString(); if (rdr["name2"] != DBNull.Value) nameE = rdr["name2"].ToString(); cnt += 1; } cn.Close(); cn.Dispose(); return cnt == 1; } public static sItemInfo getItemInfo(int idx) { var cn = getCn(); cn.Open(); var retval = new sItemInfo(); retval.idx = -1; string sql = "select * from Items where idx = " + idx.ToString(); var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); while(rdr.Read()) { retval.idx = (int)rdr["idx"]; if(rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString(); if (rdr["model"] != DBNull.Value) retval.model = rdr["model"].ToString(); if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString(); if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString()); if (rdr["name"] != DBNull.Value) retval.name = rdr["name"].ToString(); if (rdr["unit"] != DBNull.Value) retval.unit = rdr["unit"].ToString(); if (rdr["scale"] != DBNull.Value) retval.scale = float.Parse(rdr["scale"].ToString()); if (rdr["price"] != DBNull.Value) retval.price = rdr["price"].ToString(); } cn.Close(); cn.Dispose(); return retval; } public static int addItemInfo(sItemInfo info) { int retval = -1; var cn = getCn(); cn.Open(); string sql = "insert into Items" + " ([cate],[sid],[model],[supply],[supplyidx],[name],[unit],[scale],[price],[wuid],[wdate])" + " values " + " (@cate,@sid,@model,@supply,@supplyidx,@name,@unit,@scale,@price,@wuid,@wdate)"; var cmd = new SqlCommand(sql, cn); cmd.Parameters.Add(new SqlParameter("@cate", "etc")); cmd.Parameters.Add(new SqlParameter("@sid", info.sid)); cmd.Parameters.Add(new SqlParameter("@model", info.model)); cmd.Parameters.Add(new SqlParameter("@supply", info.supply)); cmd.Parameters.Add(new SqlParameter("@supplyidx", info.supplyidx)); cmd.Parameters.Add(new SqlParameter("@name", info.name)); cmd.Parameters.Add(new SqlParameter("@unit", info.unit)); cmd.Parameters.Add(new SqlParameter("@scale", info.scale)); cmd.Parameters.Add(new SqlParameter("@price", info.price)); cmd.Parameters.Add(new SqlParameter("@wuid", FCOMMON.info.Login.no)); cmd.Parameters.Add(new SqlParameter("@wdate", DateTime.Now)); var iCnt = cmd.ExecuteNonQuery(); if(iCnt == 1) { cmd.CommandText = "select isnull(idx,-1) from Items where [sid] = @sid"; cmd.Parameters.Clear(); cmd.Parameters.Add(new SqlParameter("sid", info.sid)); retval = (int)cmd.ExecuteScalar(); } cn.Close(); cn.Dispose(); return retval; } public static sItemInfo getItemInfo(string sid) { var cn = getCn(); cn.Open(); var retval = new sItemInfo(); retval.idx = -1; string sql = "select * from Items where [sid] = '" + sid + "'"; var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { retval.idx = (int)rdr["idx"]; if (rdr["sid"] != DBNull.Value) retval.sid = rdr["sid"].ToString(); if (rdr["model"] != DBNull.Value) retval.model = rdr["model"].ToString(); if (rdr["supply"] != DBNull.Value) retval.supply = rdr["supply"].ToString(); if (rdr["supplyidx"] != DBNull.Value) retval.supplyidx = int.Parse(rdr["supplyidx"].ToString()); if (rdr["name"] != DBNull.Value) retval.name = rdr["name"].ToString(); if (rdr["unit"] != DBNull.Value) retval.unit = rdr["unit"].ToString(); if (rdr["scale"] != DBNull.Value) retval.scale = float.Parse(rdr["scale"].ToString()); if (rdr["price"] != DBNull.Value) retval.price = rdr["price"].ToString(); } cn.Close(); cn.Dispose(); return retval; } public static Dictionary getUserList(int baseLevel = 1) { string where = "isnull(level,0) >= " + baseLevel.ToString(); return getTwoColumnList("Users", "id", "name", where, "name"); } public static System.Data.DataTable getUserTable(int baseLevel = 1) { var cn = getCn(); cn.Open(); var retval = new sItemInfo(); retval.idx = -1; string sql = "select [id],[name],concat([name],'(',[id],')') as dispName,[dept],[email],[level],[tel] from Users " + " where [id] <> 'dev' and dept like '%장비기술%' and dept like '%1파트%' order by [name]"; var cmd = new SqlCommand(sql, cn); var da = new SqlDataAdapter(sql, cn); var ds = new System.Data.DataSet(); da.Fill(ds); cn.Close(); cn.Dispose(); if (ds.Tables.Count > 0) return ds.Tables[0]; else return null; } private static Dictionary MakeDataTable(List list) { var retval = new Dictionary(); foreach (var item in list) retval.Add(item, item); return retval; } private static System.Data.DataTable MakeDataTable(Dictionary list) { System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add("Key"); dt.Columns.Add("Value"); dt.Columns.Add("KeyValue"); foreach (var item in list) { dt.Rows.Add(new string[] { item.Key, item.Value, string.Format("[{0}] {1}", item.Key, item.Value) }); } dt.AcceptChanges(); return dt; } public static Dictionary getProjectList(string StateCode = "") { string where = "status = '{0}'"; if (StateCode != "") where = string.Format(where, StateCode); else where = string.Empty; return getTwoColumnList("Projects", "idx", "name", where, "status,name"); } public static System.Data.DataTable getProjectData(string StateCode = "") { var list = getProjectList(StateCode); return MakeDataTable(list); } public static Dictionary getCodeList(string GroupCode="99") { string where = "Grp = '{0}'"; where = string.Format(where, GroupCode); return getTwoColumnList("Common", "code", "memo", where, "code"); } public static string getCodeSavlue(string GroupCode, string code) { var cn = getCn(); cn.Open(); var sql = "select isnull(SValue,'')" + " from Common" + " where Grp = '{0}' and code = '{1}'"; sql = string.Format(sql, GroupCode, code); var cmd = new SqlCommand(sql, cn); var data = cmd.ExecuteScalar(); cmd.Dispose(); cn.Close(); cn.Dispose(); return data.ToString(); } /// /// 지정된 프로젝트의 마지막 업무일지 데이터를 반환함 /// /// /// public static System.Data.DataTable getLastJobReportData(string uid,int projectIdx) { var cn = getCn(); cn.Open(); var sql = "select top 1 * from JobReport" + " where isnull(pidx,-1)=" + projectIdx.ToString() + " and uid ='" + uid + "'" + " order by pdate desc, idx desc"; var da = new SqlDataAdapter(sql, cn); var ds = new System.Data.DataSet(); da.Fill(ds); cn.Close(); if (ds.Tables.Count > 0) return ds.Tables[0]; else return null; } public static System.Data.DataTable getLastJobReportDatabyProjectName(string uid, string prjName) { var cn = getCn(); cn.Open(); var sql = "select top 1 * from JobReport" + " where isnull(projectName,'') like '" + prjName + "'" + " and uid ='" + uid + "'" + " order by pdate desc, idx desc"; var da = new SqlDataAdapter(sql, cn); var ds = new System.Data.DataSet(); da.Fill(ds); cn.Close(); if (ds.Tables.Count > 0) return ds.Tables[0]; else return null; } public static System.Data.DataTable getLastJobReportData(string uid, string type) { var cn = getCn(); cn.Open(); var sql = "select top 1 * from JobReport" + " where isnull([type],'')='" + type + "'" + " and uid ='" + uid + "'" + " order by pdate desc, idx desc"; var da = new SqlDataAdapter(sql, cn); var ds = new System.Data.DataSet(); da.Fill(ds); cn.Close(); if (ds.Tables.Count > 0) return ds.Tables[0]; else return null; } public static System.Data.DataTable getCodeTable(string GroupCode = "99") { System.Data.DataTable retval = new System.Data.DataTable(); retval.Columns.Add("Code"); retval.Columns.Add("Value"); retval.Columns.Add("SValue"); var cn = getCn(); cn.Open(); var sql = "select isnull(code,''),isnull(memo ,''),isnull(svalue,'')" + " from common" + " where grp = '" + GroupCode + "'" + " and isnull(code,'') <> ''" + " order by isnull(memo,'')"; var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { retval.Rows.Add(new string[]{ rdr[0].ToString(), rdr[1].ToString(),rdr[2].ToString()}); } rdr.Close(); cmd.Dispose(); cn.Close(); cn.Dispose(); return retval; } public static Dictionary getTwoColumnList(string table, string col1, string col2, string where = "", string order = "") { Dictionary retval = new Dictionary(); var cn = getCn(); cn.Open(); var sql = "select isnull({1},''),isnull({2},'')" + " from {0}"; if (where != "") sql += " where " + where; if (order != "") sql += " order by " + order; sql = string.Format(sql,table, col1, col2); var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { retval.Add(rdr[0].ToString(), rdr[1].ToString()); } rdr.Close(); cmd.Dispose(); cn.Close(); cn.Dispose(); return retval; } public static Dictionary getGroupTable(string GroupColumn, string table, string where = "", Boolean desc = false) { var list = getGroupList(GroupColumn, table, where, desc); return MakeDataTable(list); } /// /// 데이터중 첫번째 자료를 반환 합니다. /// /// /// /// /// /// public static String getFirstValue(string column,string table,string where="",string order="") { string retval = string.Empty; var cn = getCn(); cn.Open(); var sql = "select {0} " + " from {1} " + " where isnull({0},'') != '' "; if (where != "") sql += " and " + where; if (order != "") sql += " order by " + order; sql = string.Format(sql, "[" + column + "]", table); var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { if (rdr[0] != null) retval = rdr[0].ToString(); } cmd.Dispose(); cn.Close(); cn.Dispose(); return retval; } /// /// 지정된 사용자/월의 전체 근무시간 초과시간을 반환함 /// /// 사용자번호 /// 지정월(2019-05) /// 근무시간 /// 최대근무시간(근무일수*8) /// 초과근무시간 public static void getWorkTime(string uid, string yymm, out float work, out int total, out float ot) { work = 0; total = 0; ot = 0; string retval = string.Empty; var cn = getCn(); try { cn.Open(); var sql = "select isnull(sum(hrs),0) as hrs,isnull(sum(ot),0) as ot,dbo.getWorkDayCount('{1}') as workday" + " from JobReport" + " where uid = '{0}' and substring(pdate,1,7) = '{1}'"; sql = string.Format(sql, uid, yymm); var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { work = float.Parse(rdr[0].ToString()); ot = float.Parse(rdr[1].ToString()); total = int.Parse(rdr[2].ToString()) * 8; } cmd.Dispose(); cn.Close(); cn.Dispose(); } catch (Exception ex) { work = 0; total = 0; ot = 0; } finally { if (cn != null) cn.Dispose(); } } public static int addItem(string pumname,string sid, string model, decimal price, string supply ,int supplyidx = -1,byte[] pic = null) { var cn = getCn(); cn.Open(); int retval = -1; var cmd2 = new SqlCommand("", cn); cmd2.CommandText = "select count(*) from Items where name ='" + pumname + "'"; var cnt = int.Parse(cmd2.ExecuteScalar().ToString()); if (cnt == 0) { DateTime wdate = DateTime.Now; if(pic == null) { cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" + "values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)"; } else { cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,image,wuid,wdate)" + "values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@image,@wuid,@wdate)"; } cmd2.Parameters.Clear(); cmd2.Parameters.Add(new SqlParameter("cate", "--")); cmd2.Parameters.Add(new SqlParameter("name", pumname)); cmd2.Parameters.Add(new SqlParameter("sid", sid)); cmd2.Parameters.Add(new SqlParameter("model", model)); cmd2.Parameters.Add(new SqlParameter("scale", 1.0)); cmd2.Parameters.Add(new SqlParameter("unit", "EA")); cmd2.Parameters.Add(new SqlParameter("supply", supply)); if (pic != null) cmd2.Parameters.Add(new SqlParameter("image", pic)); cmd2.Parameters.Add(new SqlParameter("supplyidx", supplyidx)); cmd2.Parameters.Add(new SqlParameter("price", price)); cmd2.Parameters.Add(new SqlParameter("wuid", FCOMMON.info.Login.no)); cmd2.Parameters.Add(new SqlParameter("wdate", wdate)); retval += cmd2.ExecuteNonQuery(); if (retval == 0) { cmd2.CommandText = "select idx from Items where name = @name and sid = @sid and model = @model and wuid = @wuid and wdate = @wdate"; retval = int.Parse(cmd2.ExecuteScalar().ToString()); } else retval = -1; } cmd2.Dispose(); cn.Close(); cn.Dispose(); return retval; } public static List getGroupList(string GroupColumn, string table, string where = "",Boolean desc=false,Boolean useColumncover=true) { List retval = new List(); var cn = getCn(); cn.Open(); var sql = "select {0} " + " from {1} " + " where isnull({0},'') != '' "; if (where != "") sql += " and " + where; sql += " group by {0} " + " order by {0} "; if (desc) sql += " desc"; if (useColumncover) sql = string.Format(sql, "[" + GroupColumn + "]", table); else sql = string.Format(sql, GroupColumn , table); var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { retval.Add(rdr[0].ToString()); } cmd.Dispose(); cn.Close(); cn.Dispose(); return retval; } public static String getPathKJ(string dept) { var cn = getCn(); cn.Open(); var sql = "select isnull(path_kj,'') " + " from UserGroup " + " where dept = '" + dept + "'"; sql = string.Format(sql); var cmd = new SqlCommand(sql, cn); var rdr = cmd.ExecuteScalar(); cmd.Dispose(); cn.Close(); cn.Dispose(); if (rdr == null) return string.Empty; else return rdr.ToString(); } public static Boolean setPathKJ(string dept,string path) { var cn = getCn(); cn.Open(); var sql = "update UserGroup set path_kj=@path" + " where dept = @dept"; sql = string.Format(sql); var cmd = new SqlCommand(sql, cn); cmd.Parameters.Add(new SqlParameter("path", path)); cmd.Parameters.Add(new SqlParameter("dept", dept)); var rdr = cmd.ExecuteNonQuery(); cmd.Dispose(); cn.Close(); cn.Dispose(); return rdr > 0; } public static List getDateList(string table, string where = "",Boolean desc =false) { return getGroupList("pdate", table, where,desc); } public static int UpdateItemIndexbySID() { int retval = 0; var cn1 = getCn(); cn1.Open(); var cn2 = getCn(); cn2.Open(); var sql = "select idx, " + " isnull(pumname,'') as pumname, " + " isnull([sid],'') as [sid], " + " isnull(pumscale,'') as pummodel, " + " isnull(pumunit,'EA') as pumunit, " + " isnull(pumprice,0) as pumprice, " + " isnull(supply,'') as supply, " + " isnull(supplyidx,-1) as supplyidx" + " from purchase " + " where isnull(sid,'') <> '' and " + " isnull(sid,'') <> '신규'" + " and isnull(pumidx,-1) = -1 " + " and len(sid) = 9" + " and isnull(pumname,'') <> ''"; var cmd2 = new SqlCommand("", cn2); var cmd = new SqlCommand(sql, cn1); var rdr = cmd.ExecuteReader(); while (rdr.Read()) { var pumname = rdr["pumname"].ToString(); var pummodel = rdr["pummodel"].ToString(); var pumunit = rdr["pumunit"].ToString(); var pumprice = decimal.Parse(rdr["pumprice"].ToString()); var supply = rdr["supply"].ToString(); var supplyidx = int.Parse(rdr["supplyidx"].ToString()); var sid = rdr["sid"].ToString(); var idx = int.Parse(rdr["idx"].ToString()); //아이템정보에서 이 sid 가 1개 존재한다면 그것에 연결한다. var sql2 = "select isnull(idx,-1) from Items where [sid] = '"+sid+"'"; cmd2.CommandText = sql2; var itemdata = cmd2.ExecuteScalar(); if(itemdata != null && itemdata.ToString() != "-1") { cmd2.CommandText = "update purchase set pumidx = " + itemdata.ToString() + " where idx=" + idx.ToString(); retval += cmd2.ExecuteNonQuery(); } else { cmd2.CommandText = "insert into items(cate,name,sid,model,scale,unit,supply,supplyidx,price,wuid,wdate)" + "values(@cate,@name,@sid,@model,@scale,@unit,@supply,@supplyidx,@price,@wuid,@wdate)"; cmd2.Parameters.Clear(); cmd2.Parameters.Add(new SqlParameter("cate", "--")); cmd2.Parameters.Add(new SqlParameter("name", pumname)); cmd2.Parameters.Add(new SqlParameter("sid", sid)); cmd2.Parameters.Add(new SqlParameter("model", pummodel)); cmd2.Parameters.Add(new SqlParameter("scale",1.0)); cmd2.Parameters.Add(new SqlParameter("unit", pumunit)); cmd2.Parameters.Add(new SqlParameter("supply", supply)); cmd2.Parameters.Add(new SqlParameter("supplyidx", supplyidx)); cmd2.Parameters.Add(new SqlParameter("price", pumprice)); cmd2.Parameters.Add(new SqlParameter("wuid", "dev")); cmd2.Parameters.Add(new SqlParameter("wdate", DateTime.Now)); retval += cmd2.ExecuteNonQuery(); } } cmd2.Dispose(); cmd.Dispose(); cn1.Close(); cn1.Dispose(); cn2.Close(); cn2.Dispose(); return retval; } } }