コード例 #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>
        /// 将dt中中文转换成拼音形成dataFrame格式
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public override void setDataFrameInRByDt(DataTable dt)
        {
            int    ir = dt.Rows.Count;
            int    ic = dt.Columns.Count;
            string str1, str2, str3;

            //List<Thread> lt = new List<Thread>();
            Task[] ts = new Task[ic];
            try
            {
                if (ir > 0)
                {
                    DtPy = NPy.getDtPy(dt, ic);
                    str1 = DfName + "<-data.frame(";
                    str2 = "";
                    for (int i = 0; i < ic; i++)
                    {
                        string    strcn = dt.Columns[i].ColumnName;
                        DataTable dtc   = dt.DefaultView.ToTable(false, strcn);
                        ColStr    cs    = new ColStr(dtc, DtPy, ir);
                        ts[i] = new Task(cs.setStrCol);
                        ts[i].Start();
                    }
                    dt.Dispose();
                    Task.WaitAll(ts);
                    foreach (Task t in ts)
                    {
                        t.Dispose();
                    }
                    RColList rcl = RColList.getInstance();
                    str2  = string.Join(",", rcl);
                    str1 += str2 + ")";
                    DfR   = str1;
                    rcl.Clear();
                }
            }
            catch (Exception e)
            {
                DfR = "";
                Log.Error(e.Message);
            }
        }