コード例 #1
0
 public ActionResult Create([Bind(Include = "ModGUID,ModName,ModUid,ModPassword,ModDataBase,ModServer,ModDataSource,ModRemark")] DSTreeModel dSTreeModel)
 {
     if (ModelState.IsValid)
     {
         dSTreeModel.ModGUID   = Guid.NewGuid();
         dSTreeModel.ModStatus = "等待执行";
         db.DSTreeModel.Add(dSTreeModel);
         db.SaveChanges();
         SQLHelper sqdb        = new SQLHelper(dSTreeModel.GetConnString());
         string    sDataSource = "select top 1 * from (" + dSTreeModel.ModDataSource + ") tmp";
         DataTable dt          = sqdb.GetTable(sDataSource);
         if (dt != null)
         {
             int                ic     = dt.Columns.Count;
             DataTable          dtCNPy = NPy.getDtCNPy(dt, ic);
             List <DSTreeCEMap> ldstcm = new List <DSTreeCEMap>();
             for (int i = 0; i < ic; i++)
             {
                 DSTreeCEMap dstcm = new DSTreeCEMap();
                 dstcm.CEMapGUID = Guid.NewGuid();
                 dstcm.ModGUID   = dSTreeModel.ModGUID;
                 dstcm.CCellName = dt.Columns[i].ColumnName;
                 dstcm.ECellName = dtCNPy.Select("cnC='" + dstcm.CCellName + "'")[0][1].ToString();
                 db.DSTreeCEMap.Add(dstcm);
             }
             db.SaveChanges();
         }
         return(RedirectToAction("Index", new { ModGUID = dSTreeModel.ModGUID }));
     }
     return(View(dSTreeModel));
 }
コード例 #2
0
        /// <summary>
        /// 获取列名
        /// </summary>
        /// <returns></returns>
        public string GetFieldName(string ModGUID, string isFile, string db)
        {
            DataTable dt = new DataTable();

            if (string.IsNullOrEmpty(isFile) || string.IsNullOrEmpty(ModGUID))
            {
                return("");
            }
            try
            {
                ///文件类型数据
                if (isFile == "1")
                {
                    string        dirPath = HttpContext.Server.MapPath("/Uploads/" + ModGUID + "/");
                    DirectoryInfo di      = new DirectoryInfo(dirPath);
                    FileInfo      fi      = di.GetFiles()[0];
                    if (fi.FullName != "")
                    {
                        if (fi.Extension == ".csv")
                        {
                            dt = CsvHelper.GetFieldName(fi.FullName);
                        }
                        else
                        {
                            using (ExcelHelper exc = new ExcelHelper(fi.FullName))
                            {
                                dt = exc.GetExcelFieldName();
                            }
                        }
                    }
                }
                ////数据库类型数据
                else
                {
                    if (string.IsNullOrEmpty(db))
                    {
                        return(null);
                    }
                    else
                    {
                        DSTreeModel dbs      = JsonConvert.DeserializeObject <DSTreeModel>(db);
                        SQLHelper   targetdb = new SQLHelper(dbs.GetConnString());
                        string      strSql   = "select top 1 * from (" + dbs.ModDataSource + ") tmp";
                        DataTable   dtTemp   = targetdb.GetTable(strSql);
                        if (dtTemp == null)
                        {
                            return(null);
                        }
                        int ic = dtTemp.Columns.Count;
                        dt.Columns.Add("FieldName");
                        for (int i = 0; i < ic; i++)
                        {
                            DataRow dr = dt.NewRow();
                            dr[0] = dtTemp.Columns[i].ColumnName;
                            dt.Rows.Add(dr);
                        }
                    }
                }
            }
            catch (Exception e)
            {
                MyLog.writeLog("EEROR", e);
            }

            return(JsonConvert.SerializeObject(dt));
        }