public string UnmarshalBinary(byte[] b, int startindex, int endindex) { if (endindex - startindex < 8 || (endindex - startindex) % 8 != 0) { return(Constants.ErrWALCorrupt); } Sids.Clear(); int i = startindex; while (i < endindex) { Sids.Add(BitConverter.ToUInt64(b, i)); i += 8; } return(null); }
public string UnmarshalBinary(byte[] b, int startindex, int endindex) { if (endindex - startindex < 16) { return(Constants.ErrWALCorrupt); } int i = startindex; Min = BitConverter.ToInt64(b, i); Max = BitConverter.ToInt64(b, i + 8); i += 16; Sids.Clear(); while (i < endindex) { if (i + 8 > endindex) { return(Constants.ErrWALCorrupt); } Sids.Add(BitConverter.ToUInt64(b, i)); i += 8; } return(null); }
public override bool Import() { string s = Sr.ReadToEnd(); TemplateHelper tmph = new TemplateHelper(""); string[] arys = regRowSplit.Split(s); List <DAL.ShowBase> sbs = new List <DAL.ShowBase>(); List <DAL.STPa> pas = new List <DAL.STPa>(); List <DAL.STIV> ivs = new List <DAL.STIV>(); List <DAL.STIpc> ipcs = new List <DAL.STIpc>(); List <DAL.STPR> prs = new List <DAL.STPR>(); List <DAL.STDT> dts = new List <DAL.STDT>(); List <DAL.STQY> qys = new List <DAL.STQY>(); int count = arys.Length - 1; SetMaxProcess(this, count); Thimport = new Thread(() => { //第一行为空 for (int i = 1; i <= arys.Length - 1; i++) { string tmp = regspace.Replace(regcharRNT.Replace(arys[i].Trim(), ""), ""); foreach (string x in otherstring) { tmp = tmp.Replace(x, ""); } tmp = RemoveZaoZi(tmp); MatchCollection mhs = rowRege.Matches(tmp); ShowBase sb = new ShowBase(); sb.ZTID = ZTId; sb.ImportDate = DateTime.Now; foreach (Match m in mhs) { string colname = m.Groups["colname"].Value; string val = m.Groups["colval"].Value.Trim().Trim('\t'); string mappingcolname = tmph.getMappingColumnName(colname); switch (mappingcolname) { case "申请号": sb.An = val; sb.SiD = val; break; case "发明名称": sb.Title = val; break; case "摘要": sb.ABs = val; break; case "权利要求": sb.ClM = val; break; case "国际分类号": sb.Ipc = val; break; case "范畴分类号": sb.FCfL = val; break; case "国家/省市": sb.ShEng = val; break; case "申请人": sb.Pa = val; break; case "联系地址": sb.AddR = val; break; case "邮编": sb.Zip = val; break; case "代理机构": sb.DLJG = val; break; case "代理人": sb.DLr = val; break; case "代理机构地址": sb.DLJGAddR = val; break; case "发明人": sb.IV = val; break; case "申请日": sb.Ad = val; break; case "公开号": sb.PN = val; break; case "公开日": sb.PD = val; break; //case "授权公告日": // sb.Gd = val; // break; case "公告日": sb.Gd = val; break; //case "授权日": // sb.Gd = val; // break; case "公告号": sb.GN = val; break; case "优先权": sb.PR = val; break; case "审批历史": sb.LG = val; break; case "附图数": sb.PiCSum = val; break; case "页数": sb.DesPageSum = val; break; case "权利要求项数": sb.ClMSum = val; break; } } if (CheckExist(sb.SiD)) { if (Skip) { Skip_sum++; continue; } else { DelExist(sb.ZTID.ToString(), sb.SiD.ToString()); Overwrite_sum++; } } else { Sids.Add(sb.SiD, true); } sbs.Add(sb); List <STPa> pa = new List <STPa>(); List <STIV> iv = new List <STIV>(); List <STIpc> ipc = new List <STIpc>(); List <STPR> pr = new List <STPR>(); List <STQY> qy = new List <STQY>(); dts.Add(CPRSIndex.AutoIndex(sb, out pa, out iv, out ipc, out pr, out qy)); pas.AddRange(pa); ivs.AddRange(iv); ipcs.AddRange(ipc); prs.AddRange(pr); qys.AddRange(qy); if (i % 100 == 0) { //Thread.Sleep(1000); //todo:标引 //todo:标引信息入库 //todo:基本信息入库 BulkInsert(sbs, pas, ivs, ipcs, prs, dts, qys); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); qys.Clear(); ShowProcess(this, i, Skip_sum, Overwrite_sum, "导入"); } } if (sbs.Count > 0) { BulkInsert(sbs, pas, ivs, ipcs, prs, dts, qys); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); qys.Clear(); } log.Info(string.Format("导入完毕: 专题库:{0},ID:{1},类型:,{2}总量:{3},跳过:{4}", ztName, ZTId, Type, count, Skip_sum)); ShowProcess(this, count, Skip_sum, Overwrite_sum, "导入完毕"); Sr.Close(); Sr.Dispose(); }); Thimport.Start(); return(true); }
public override bool Import() { string s = Sr.ReadToEnd().Replace(kunkaojin, ""); TemplateHelper tmph = new TemplateHelper(""); string[] arys = regRowSplit.Split(s); List<ShowBase> sbs = new List<ShowBase>(); List<STPa> pas = new List<STPa>(); List<STIV> ivs = new List<STIV>(); List<STIpc> ipcs = new List<STIpc>(); List<STPR> prs = new List<STPR>(); List<STDT> dts = new List<STDT>(); List<STFML> fmls = new List<STFML>(); List<STCPc> cpcs = new List<STCPc>(); int count = arys.Length - 1; SetMaxProcess(this, count); Thimport = new Thread(() => { //第一行为空 for (int i = 1; i <= count; i++) { string tmp = regsharp.Replace(arys[i], ""); tmp = regspace.Replace(regcharRNT.Replace(tmp, ""), " "); tmp = MarkReplece.Replace(tmp, "【$1】").Trim(); MatchCollection mhs = rowRege.Matches(tmp); ShowBase sb = new ShowBase() { An = "", SiD = "", Ipc = "", Pa = "", IV = "", PN = "" }; sb.ZTID = ZTId; sb.ImportDate = DateTime.Now; foreach (Match m in mhs) { string colname = m.Groups["colname"].Value; string val = m.Groups["colval"].Value.Trim().Trim('\t'); string mappingcolname = tmph.getMappingColumnName(colname); switch (mappingcolname) { case "AN": sb.SiD = val; break; case "AP": sb.An = val; break; case "TI": sb.Title = val; break; case "IC": case "CCA": case "CCI": if (sb.Ipc == null) { sb.Ipc = val; } else { sb.Ipc += ";" + val; } break; case "PA": sb.Pa = val; break; case "CPY": sb.CPY = val; break; case "OPD": sb.OpD = val; break; case "AB": sb.ABs = val; break; case "IN": sb.IV = val; break; case "PN": sb.PN = val; break; case "PR": sb.PR = val; break; case "PD": sb.PD = val; break; case "DS": sb.DS = val; break; case "DMC": sb.DMc = val; break; case "FAMN": sb.FaMN = val; break; case "CT": sb.Ct = val; break; case "CTNP": sb.CtNP = val; break; case "FI": sb.FI = val; break; case "FT": sb.FT = val; break; case "RF": sb.RF = val; break; case "RFAP": sb.RFaP = val; break; case "RFNP": sb.RFNP = val; break; case "EC": sb.Ec = val; break; } } if (CheckExist(sb.SiD)) { if (Skip) { Skip_sum++; continue; } else { DelExist(sb.ZTID.ToString(), sb.SiD.ToString()); Overwrite_sum++; } } else { Sids.Add(sb.SiD, true); } sbs.Add(sb); List<STPa> pa = new List<STPa>(); List<STIV> iv = new List<STIV>(); List<STIpc> ipc = new List<STIpc>(); List<STPR> pr = new List<STPR>(); List<STFML> fml = new List<STFML>(); List<STCPc> cpc = new List<STCPc>(); dts.Add(EPODOCIndex.AutoIndex(sb, out pa, out iv, out ipc, out pr, out fml, out cpc)); pas.AddRange(pa); ivs.AddRange(iv); ipcs.AddRange(ipc); prs.AddRange(pr); fmls.AddRange(fml); cpcs.AddRange(cpc); if (i % 100 == 0) { //Thread.Sleep(1000); //todo:标引 //todo:标引信息入库 //todo:基本信息入库 //BulkInsert(sbs); BulkInsert(sbs, pas, ivs, ipcs, prs, fml, dts, cpcs); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); fmls.Clear(); cpcs.Clear(); ShowProcess(this, i, Skip_sum, Overwrite_sum, "导入"); } } if (sbs.Count > 0) { BulkInsert(sbs, pas, ivs, ipcs, prs, fmls, dts, cpcs); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); fmls.Clear(); cpcs.Clear(); } ShowProcess(this, count, Skip_sum, Overwrite_sum, "导入完毕"); Sr.Close(); Sr.Dispose(); }); Thimport.Start(); return true; }
public bool EPODocImport() { List <ShowBase> sbs = new List <ShowBase>(); List <STPa> pas = new List <STPa>(); List <STIV> ivs = new List <STIV>(); List <STIpc> ipcs = new List <STIpc>(); List <STPR> prs = new List <STPR>(); List <STDT> dts = new List <STDT>(); List <STFML> fmls = new List <STFML>(); List <STCPc> cpcs = new List <STCPc>(); int count = dt.Rows.Count; SetMaxProcess(this, count); Thimport = new Thread(() => { for (int i = 0; i < dt.Rows.Count; i++) { ShowBase sb = new ShowBase(); sb.ZTID = ZTId; sb.ImportDate = DateTime.Now; STDT st = new STDT() { ZTID = sb.ZTID, ImportDate = sb.ImportDate }; #region 处理一条数据 foreach (DataColumn col in dt.Columns) { string colname = col.ColumnName; string val = dt.Rows[i][col].ToString(); if (!Template.ColumnMapping.ContainsKey(colname)) { continue; } ColumnMapping mapping = Template.ColumnMapping[colname]; string mappingcolname = mapping.SystemColumnShowName; string tbname = mapping.Tablename; int?intval = null; sbyte?sbval = null; sbyte ssb = 0; if (SByte.TryParse(val.Replace("是", "1"), out ssb)) { sbval = ssb; } int iit = 0; if (int.TryParse(val, out iit)) { intval = iit; } #region STDT if (tbname.ToUpper() == "ST_DT") { switch (mappingcolname) { case "申请年": st.AdY = intval; break; case "公开年": st.PDy = intval; break; case "最早优先权年": st.OpDy = intval; break; case "主申请人": st.FPa = val; break; case "主发明人": st.FIn = val; break; case "主IPC": st.FIpc = val; break; case "主CPC": st.FCPc = val; break; case "是否合作申请": st.IsHeZUO = sbval; break; case "洲际": st.ZHoU = val; break; case "国家": st.GJ = val; break; case "公开年差": st.PDyDef = intval; break; case "申请人数量": st.PaSum = sbval; break; case "发明人数量": st.InSum = sbval; break; case "IPC数量": st.IpcSum = sbval; break; case "CPC数量": st.CPcSum = sbval; break; case "引证数量": st.YZSum = sbval; break; case "被引证数量": st.ByZSum = sbval; break; default: break; } } #endregion #region SHOWBASE switch (mappingcolname) { case "AN": case "入藏号": sb.SiD = val; break; case "申请号": sb.An = val; break; case "申请日": sb.Ad = val; break; case "标题": sb.Title = val; break; case "IPC": if (sb.Ipc == null) { sb.Ipc = val; } else { sb.Ipc += ";" + val; } break; case "CPC": if (sb.CPc == null) { sb.CPc = val; } else { sb.CPc += ";" + val; } break; case "申请人": sb.Pa = val; break; case "申请人代码": sb.CPY = val; break; case "最早优先权日": sb.OpD = val; break; case "摘要": sb.ABs = val; break; case "发明人": sb.IV = val; break; case "公开号": sb.PN = val; break; case "优先权": sb.PR = val; break; case "公开日": sb.PD = val; break; case "DS": sb.DS = val; break; case "FAMN": sb.FaMN = val; break; case "CT": sb.Ct = val; break; case "CTNP": sb.CtNP = val; break; case "FI": sb.FI = val; break; case "FT": sb.FT = val; break; case "RF": sb.RF = val; break; case "RFAP": sb.RFaP = val; break; case "RFNP": sb.RFNP = val; break; case "EC": sb.Ec = val; break; } #endregion } #endregion #region 标引 if (CheckExist(sb.SiD)) { if (Skip) { Skip_sum++; continue; } else { DelExist(sb.ZTID.ToString(), sb.SiD.ToString()); Overwrite_sum++; } } else { Sids.Add(sb.SiD, true); } sbs.Add(sb); List <STPa> pa = new List <STPa>(); List <STIV> iv = new List <STIV>(); List <STIpc> ipc = new List <STIpc>(); List <STPR> pr = new List <STPR>(); List <STFML> fml = new List <STFML>(); List <STCPc> cpc = new List <STCPc>(); st = XLSEPODOCIndex.AutoIndex(sb, st, out pa, out iv, out ipc, out pr, out fml, out cpc); dts.Add(st); pas.AddRange(pa); ivs.AddRange(iv); ipcs.AddRange(ipc); prs.AddRange(pr); fmls.AddRange(fml); cpcs.AddRange(cpc); #endregion if (i % 100 == 0) { EPODOCBulkInsert(sbs, pas, ivs, ipcs, prs, fml, dts, cpcs); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); fmls.Clear(); cpcs.Clear(); ShowProcess(this, i, Skip_sum, Overwrite_sum, "导入"); } } if (sbs.Count > 0) { EPODOCBulkInsert(sbs, pas, ivs, ipcs, prs, fmls, dts, cpcs); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); fmls.Clear(); cpcs.Clear(); } ShowProcess(this, count, Skip_sum, Overwrite_sum, "导入完毕"); }); Thimport.Start(); return(true); }
public bool CNImport() { XLSCPRSIndex.initmp(Template); List <DAL.ShowBase> sbs = new List <DAL.ShowBase>(); List <DAL.STPa> pas = new List <DAL.STPa>(); List <DAL.STIV> ivs = new List <DAL.STIV>(); List <DAL.STIpc> ipcs = new List <DAL.STIpc>(); List <DAL.STPR> prs = new List <DAL.STPR>(); List <DAL.STDT> dts = new List <DAL.STDT>(); List <DAL.STQY> qys = new List <DAL.STQY>(); int count = dt.Rows.Count; SetMaxProcess(this, count); Thimport = new Thread(() => { #region 处理一个DataTable for (int i = 0; i < dt.Rows.Count; i++) { ShowBase sb = new ShowBase(); sb.ZTID = ZTId; sb.ImportDate = DateTime.Now; STDT st = new STDT() { ZTID = sb.ZTID, ImportDate = sb.ImportDate }; #region 处理一条数据 foreach (DataColumn col in dt.Columns) { string colname = col.ColumnName; string val = dt.Rows[i][col].ToString(); if (!Template.ColumnMapping.ContainsKey(colname)) { continue; } ColumnMapping mapping = Template.ColumnMapping[colname]; string mappingcolname = mapping.SystemColumnShowName; string tbname = mapping.Tablename; int?intval = null; sbyte?sbval = null; sbyte ssb = 0; if (SByte.TryParse(val.Replace("是", "1"), out ssb)) { sbval = ssb; } int iit = 0; if (int.TryParse(val, out iit)) { intval = iit; } #region STDT if (tbname.ToUpper() == "ST_DT") { switch (mappingcolname) { case "申请年": st.AdY = intval; break; case "公开年": st.PDy = intval; break; case "授权年": st.GdY = intval; break; case "主申请人": st.FPa = val; break; case "主发明人": st.FIn = val; break; case "主IPC": st.FIpc = val; break; case "权利要求1字数": st.ClSCharSum = intval; break; case "专利类型": st.Type = val; break; case "专利类型(含PCT)": st.Type1 = val; break; case "主申请人类型": st.FPaType = val; break; case "是否合作申请": st.IsHeZUO = sbval; break; case "洲际": st.ZHoU = val; break; case "是否国外来华": st.IsGuOwAi = sbval; break; case "国家": st.GJ = val; break; case "省": st.ShEng = val; break; case "省(计划单列市)": st.ShEng1 = val; break; case "市": st.ShI = val; break; case "区县": st.QUXian = val; break; case "经济区域": st.QUYU = val; break; case "最终法律状态": st.LG = val; break; case "法律截止年": st.LGYear = intval;; break; case "公开年差": st.PDyDef = intval;; break; case "授权年差": st.GdYDef = intval;; break; case "专利年龄": st.Age = sbval; break; case "是否公知技术": st.IsGongZHi = sbval; break; case "申请人数量": st.PaSum = sbval; break; case "发明人数量": st.InSum = sbval; break; case "IPC数量": st.IpcSum = sbval; break; default: break; } } #endregion #region showbase switch (mappingcolname) { case "申请号": sb.An = val; sb.SiD = val; break; case "发明名称": case "标题": sb.Title = val; break; case "摘要": sb.ABs = val; break; case "权利要求": sb.ClM = val; break; case "国际分类号": sb.Ipc = val; break; case "范畴分类号": sb.FCfL = val; break; case "省": case "国家/省市": sb.ShEng = val; break; case "申请人": sb.Pa = val; break; case "联系地址": sb.AddR = val; break; case "邮编": sb.Zip = val; break; case "代理机构": sb.DLJG = val; break; case "代理人": sb.DLr = val; break; case "代理机构地址": sb.DLJGAddR = val; break; case "发明人": sb.IV = val; break; case "申请日": sb.Ad = val; break; case "公开号": sb.PN = val; break; case "公开日": sb.PD = val; break; case "公告日": case "授权日": if (string.IsNullOrEmpty(sb.Gd)) { sb.Gd = val; } break; case "授权号": case "公告号": if (string.IsNullOrEmpty(sb.GN)) { sb.GN = val; } break; case "优先权": sb.PR = val; break; case "审批历史": sb.LG = val; break; case "附图数": sb.PiCSum = val; break; case "页数": sb.DesPageSum = val; break; case "权利要求项数": sb.ClMSum = val; break; } #endregion } #endregion if (CheckExist(sb.SiD)) { if (Skip) { Skip_sum++; continue; } else { DelExist(sb.ZTID.ToString(), sb.SiD.ToString()); Overwrite_sum++; } } else { Sids.Add(sb.SiD, true); } sbs.Add(sb); List <STPa> pa = new List <STPa>(); List <STIV> iv = new List <STIV>(); List <STIpc> ipc = new List <STIpc>(); List <STPR> pr = new List <STPR>(); List <STQY> qy = new List <STQY>(); st = XLSCPRSIndex.AutoIndex(sb, st, out pa, out iv, out ipc, out pr, out qy); dts.Add(st); pas.AddRange(pa); ivs.AddRange(iv); ipcs.AddRange(ipc); prs.AddRange(pr); qys.AddRange(qy); if (i % 100 == 0) { //todo:基本信息入库 CNBulkInsert(sbs, pas, ivs, ipcs, prs, dts, qys); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); qys.Clear(); ShowProcess(this, i, Skip_sum, Overwrite_sum, "导入"); } } #endregion if (sbs.Count > 0) { CNBulkInsert(sbs, pas, ivs, ipcs, prs, dts, qys); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); qys.Clear(); } log.Info(string.Format("导入完毕: 专题库:{0},ID:{1},类型:,{2}总量:{3},跳过:{4}", ztName, ZTId, Type, count, Skip_sum)); ShowProcess(this, count, Skip_sum, Overwrite_sum, "导入完毕"); }); Thimport.Start(); return(true); }
public bool WPIImport() { XLSWPIIndex.initmp(Template); List <ShowBase> sbs = new List <ShowBase>(); List <STPa> pas = new List <STPa>(); List <STIV> ivs = new List <STIV>(); List <STIpc> ipcs = new List <STIpc>(); List <STPR> prs = new List <STPR>(); List <STDT> dts = new List <STDT>(); List <STDc> dcs = new List <STDc>(); List <STPNS> pns = new List <STPNS>(); List <STAnS> ans = new List <STAnS>(); int count = dt.Rows.Count; SetMaxProcess(this, count); Thimport = new Thread(() => { // for (int i = 0; i < dt.Rows.Count; i++) { ShowBase sb = new ShowBase(); sb.ZTID = ZTId; sb.ImportDate = DateTime.Now; STDT st = new STDT() { ZTID = sb.ZTID, SiD = sb.SiD, ImportDate = sb.ImportDate }; #region 一行记录 foreach (DataColumn col in dt.Columns) { string colname = col.ColumnName; string val = dt.Rows[i][col].ToString(); if (!Template.ColumnMapping.ContainsKey(colname)) { continue; } ColumnMapping mapping = Template.ColumnMapping[colname]; string mappingcolname = mapping.SystemColumnShowName; string tbname = mapping.Tablename; int?intval = null; sbyte?sbval = null; int iit = 0; sbyte ssb = 0; if (sbyte.TryParse(val, out ssb)) { sbval = ssb; } if (int.TryParse(val, out iit)) { intval = iit; } #region STDT if (tbname.ToUpper() == "ST_DT") { switch (mappingcolname) { case "申请年": st.AdY = intval; break; case "公开年": st.AdY = intval; break; case "最早优先权年": st.OpDy = intval; break; case "主申请人": st.FPa = val; break; case "主发明人": st.FIn = val; break; case "主IPC": st.FIpc = val; break; case "主CPC": st.FCPc = val; break; case "主DC": st.FDMc = val; break; case "是否合作申请": st.IsHeZUO = sbval; break; case "洲际": st.ZHoU = val; break; case "是否三局": st.IsSanJU = sbval; break; case "是否五局": st.IsWuJU = sbval; break; case "国家": st.GJ = val; break; case "公开年差": st.PDyDef = intval; break; case "申请人数量": st.PaSum = sbval; break; case "发明人数量": st.InSum = sbval; break; case "IPC数量": st.IpcSum = sbval; break; case "CPC数量": st.CPcSum = sbval; break; case "DC数量": st.DMcSum = sbval; break; case "同族数量": st.FMLSum = sbval; break; case "国家数量": st.GJSum = sbval; break; case "引证数量": st.YZSum = sbval; break; case "被引证数量": st.ByZSum = sbval; break; default: break; } } #endregion #region SHOWBASE switch (mappingcolname) { case "AN": case "入藏号": sb.SiD = val; break; case "申请号(原始)": case "申请号": sb.An = val; break; case "标题": case "专利名称": sb.Title = val; break; case "IPC": if (sb.Ipc == null) { sb.Ipc = val; } else { sb.Ipc += ";" + val; } break; case "申请人": sb.Pa = val; break; case "申请人代码": sb.CPY = val; break; case "最早优先权日": sb.OpD = val; break; case "摘要": sb.ABs = val; break; case "发明人": sb.IV = val; break; case "公开号(原始)": case "公开号": sb.PN = val; break; case "优先权": sb.PR = val; break; case "公开日": sb.PD = val; break; case "DC": sb.Dc = val; break; case "DMC": sb.DMc = val; break; case "DS": break; case "YZ": break; case "BY": break; case "CPC": sb.CPc = val; break; default: break; } #endregion } #endregion if (CheckExist(sb.SiD)) { if (Skip) { Skip_sum++; continue; } else { DelExist(sb.ZTID.ToString(), sb.SiD.ToString()); Overwrite_sum++; } } else { Sids.Add(sb.SiD, true); } sbs.Add(sb); List <STPa> pa = new List <STPa>(); List <STIV> iv = new List <STIV>(); List <STIpc> ipc = new List <STIpc>(); List <STPR> pr = new List <STPR>(); List <STAnS> an = new List <STAnS>(); List <STPNS> pn = new List <STPNS>(); List <STDc> dc = new List <STDc>(); st = XLSWPIIndex.AutoIndex(sb, st, out pa, out iv, out ipc, out pr, out pn, out an, out dc); dts.Add(st); pas.AddRange(pa); ivs.AddRange(iv); ipcs.AddRange(ipc); prs.AddRange(pr); pns.AddRange(pn); ans.AddRange(an); dcs.AddRange(dc); if (i % 100 == 0) { WPIBulkInsert(sbs, pas, ivs, ipcs, prs, dts, pns, ans, dcs); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); pns.Clear(); ans.Clear(); dcs.Clear(); ShowProcess(this, i, Skip_sum, Overwrite_sum, "导入"); } } if (sbs.Count > 0) { WPIBulkInsert(sbs, pas, ivs, ipcs, prs, dts, pns, ans, dcs); sbs.Clear(); pas.Clear(); ivs.Clear(); ipcs.Clear(); prs.Clear(); dts.Clear(); pns.Clear(); ans.Clear(); dcs.Clear(); } ShowProcess(this, count, Skip_sum, Overwrite_sum, "导入完毕"); }); Thimport.Start(); return(true); }