using Mesnac.Compressor.Entity; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Mesnac.Compressor.Data { public class SqlHelper { public string DataInsertSql(string Table,StationInsertInfo Info) { StringBuilder sb = new StringBuilder(); try { #region 列名组合 sb.Append("insert into ").Append(Table).Append("(barcode,SemiBarcode,StationID,StationCode,State"); if(Info.isScanbarcode) { sb.Append(",").Append("ScanCode"); } if (Info.para != null) { int paraLength = Info.para.Length; for (int i = 1; i <= paraLength; i++) { string para = "para" + i.ToString(); sb.Append(",").Append(para); } } #endregion #region values组合 sb.Append(") values('"); sb.Append(Info.MainBarcode).Append("','"); sb.Append(Info.SubBorcod).Append("','"); sb.Append(Info.StationID).Append("','"); sb.Append(Info.StationName).Append("','"); sb.Append(Info.okng.ToString()).Append("'"); //添加条码 if (Info.isScanbarcode) { sb.Append(",'").Append(Info.ScanBarcode).Append("'"); } if (Info.para != null) { foreach (var pa in Info.para) { //参数最多保留十位数 string value = pa.ToString(); if (value.Length > 10) { value = value.Substring(0,10); } sb.Append(",'").Append(value).Append("'"); } } sb.Append(")"); #endregion } catch(Exception ex) { ICSharpCode.Core.LoggingService.Debug("Insert拼接字符串错误:"+ex.ToString()); } return sb.ToString(); } public string DataInsertSql2(StationInfo Info) { StringBuilder sb = new StringBuilder(); try { #region 列名组合 sb.Append("insert into ").Append(Info.TableName).Append("(barcode,SemiBarcode,ScanBarcode,RFIDNO,StationID,State,MachineID,MaskID"); if (Info.Data.SavedataList != null) { int paraLength = Info.Data.SavedataList.Count; for (int i = 1; i <= paraLength; i++) { string para = "para" + i.ToString(); sb.Append(",").Append(para); string paraMin = para + "_Min"; sb.Append(",").Append(paraMin); string paraMax = para + "_Max"; sb.Append(",").Append(paraMax); string paraState = para + "_State"; sb.Append(",").Append(paraState); string paraResverve = para + "_Reserve"; sb.Append(",").Append(paraResverve); } } #endregion #region values组合 sb.Append(") values('"); sb.Append(Info.Data.MainBarcode).Append("','"); sb.Append(Info.Data.semibacode).Append("','"); sb.Append(Info.Data.ProductBarcode).Append("','"); sb.Append(Info.Data.RFIDNo).Append("','"); sb.Append(Info.stationID).Append("','"); sb.Append(Info.Data.ProductOkNg).Append("','"); sb.Append(Info.Data.machineID.ToString()).Append("','"); sb.Append(Info.Data.MaskID.ToString()).Append("'"); if (Info.Data.SavedataList != null) { foreach (var pa in Info.Data.SavedataList) { //参数最多保留十位 string para = LengthMethod(pa.actValue); sb.Append(",'").Append(para).Append("'"); string paraMin = LengthMethod(pa.MinValue); sb.Append(",'").Append(paraMin).Append("'"); string paraMax = LengthMethod(pa.MaxValue); sb.Append(",'").Append(paraMax).Append("'"); string paraState = LengthMethod(pa.result); sb.Append(",'").Append(paraState).Append("'"); string paraResverve = LengthMethod(pa.Remark); sb.Append(",'").Append(paraResverve).Append("'"); } } sb.Append(")"); #endregion } catch (Exception ex) { ICSharpCode.Core.LoggingService.Debug("Insert拼接字符串错误:" + ex.ToString()); } return sb.ToString(); } /// /// 更新原有数据的状态 /// /// /// public string UpdateOldData(StationInfo Info) { StringBuilder sb = new StringBuilder(); sb.Append("update ").Append(Info.TableName).Append(" set FinalFlag=0 where SemiBarcode='").Append(Info.Data.ProductBarcode).Append("'"); return sb.ToString(); } /// /// 处理长度过长的参数,保留10位数 /// /// /// private string LengthMethod(object para) { string value = para.ToString(); if (value.Length > 10) { value = value.Substring(0, 10); } return value; } } }