/// <summary> /// 将暂存信息上传-注:只有插入效果 /// </summary> /// <param name="souredt"></param> /// <returns></returns> public bool ImportTempDtToDb(DataTable souredt) { var result = true; var tableName = string.Empty; try { //获取三个临时表(分别针对对应的数据表) var tempOrderDt = dbList.GetTempOrderTemp(); var tempOrderHeadDt = dbList.GetTempOrderHeadTemp(); var tempOrderEntryDt = dbList.GetTempOrderEntryTemp(); //创建产成品名称临时表 var bomproductorderdt = dbList.CreateBomProductTemp(); //过滤得出不相同的‘产品名称’临时表 foreach (DataRow rows in souredt.Rows) { if (bomproductorderdt.Select("ProductName='" + rows[11] + "'").Length > 0) { continue; } var newrow = bomproductorderdt.NewRow(); newrow[0] = rows[11]; bomproductorderdt.Rows.Add(newrow); } //将数据插入至TempOrderDt临时表 tempOrderDt = GetDataToTempOrderDt(tempOrderDt, souredt.Rows[0]); foreach (DataRow rows in bomproductorderdt.Rows) { var dtlrows = souredt.Select("ProductName='" + rows[0] + "'"); //根据‘产品名称’为条件,所获得的数据进行循环插入至对应的临时表内 for (var i = 0; i < dtlrows.Length; i++) { //先插入信息至offerOrderHeadDt临时表内 tempOrderHeadDt.Merge(GetDataToTempOrderHeadDt(Convert.ToInt32(tempOrderDt.Rows[0][0]), tempOrderHeadDt, dtlrows[i])); //根据‘产品名称’获取对应的Headid值 var headid = Convert.ToInt32(tempOrderHeadDt.Select("ProductName='" + rows[0] + "'")[0][1]); //然后再将相关信息插入至offerOrderEntryDt临时表内 tempOrderEntryDt.Merge(GetDataToTempOrderEntryDt(headid, tempOrderEntryDt, dtlrows[i])); } } //将整理好的三个临时表通过循环分别放到‘插入’ ‘更新’方法内执行; for (var i = 0; i < 3; i++) { switch (i) { //0:T_TempOrder case 0: tableName = "T_TempOrder"; ImportDtToDb(tableName, tempOrderDt); break; //1:T_TempOrderHead case 1: tableName = "T_TempOrderHead"; ImportDtToDb(tableName, tempOrderHeadDt); break; //2:T_TempOrderEntry case 2: tableName = "T_TempOrderEntry"; ImportDtToDb(tableName, tempOrderEntryDt); break; } } } catch (Exception) { result = false; } return(result); }