//登录到数据库
 public JsonResult LoginDB(string userAccount, string userPwd, string localIP)
 {
     try
     {
         string    strConnction    = string.Concat(new string[] { "SERVER=", localIP, ";DATABASE=MASTER;UID=", userAccount, ";PWD=", userPwd });
         string    sqlStr          = "SELECT NAME FROM SYSDATABASES ORDER BY NAME";
         string    message         = (string)null;
         ArrayList dataByConAndSql = dbHelper.GetDataByConAndSql(strConnction, sqlStr, out message);
         if (dataByConAndSql.Count <= 0)
         {
             return(Json(new { message = "Fail", content = "没有对应的数据库 ! " }));
         }
         else
         {
             //暂时存入缓存
             CacheGeneral.SetCache("key_userAccount", userAccount);
             CacheGeneral.SetCache("key_userPwd", userPwd);
             CacheGeneral.SetCache("key_localIP", localIP);
             return(Json(new { message = "Success", content = JsonConvert.SerializeObject(dataByConAndSql) }));
         }
     }
     catch (Exception ex)
     {
         //报错记录错误
         Log4net.log4netCreate(typeof(GeneratedFileController), log4netPath)
         .Error("LoginDB(string userAccount, string userPwd, string localIP) ----> " + ex.Message);
         return(Json(new { message = "Fail", content = "登录失败 ! " }));
     }
 }
        /// <summary>
        /// 写入 Txt 文件
        /// </summary>
        /// <param name="path">写入文件路径,已写入缓存</param>
        /// <param name="content">内容</param>
        /// <returns>bool 是否成功</returns>
        private bool WriterTxt(string content, string path = "")
        {
            path = CacheGeneral.GetCache("TemplatePath").ToString();
            if (string.IsNullOrEmpty(path))
            {
                return(false);
            }
            StreamWriter stream = null;

            try
            {
                stream = new StreamWriter(path, false, Encoding.UTF8);
                stream.Write(content);
                return(true);
            }
            catch (Exception ex)
            {
                Log4net.log4netCreate(typeof(GeneratedFileController), log4netPath).Error(" WriterTxt(string path, string content) ----> " + ex.Message);
                return(false);
            }
            finally
            {
                stream.Close();
                stream.Dispose();
            }
        }
 /// <summary>
 /// 查询相对于的表的列名
 /// </summary>
 /// <param name="loacalDataBase">数据库</param>
 /// <param name="loacaDataTable">表名</param>
 /// <returns>返回所有的列名</returns>
 private ArrayList GetCloumnByTable(string loacalDataBase, string loacaDataTable)
 {
     try
     {
         string strConnction = string.Concat(new string[] {
             "SERVER=", CacheGeneral.GetCache("key_localIP").ToString(),
             ";DATABASE=", loacalDataBase,
             ";UID=", CacheGeneral.GetCache("key_userAccount").ToString(),
             ";PWD=", CacheGeneral.GetCache("key_userPwd").ToString(),
         });
         string strSql = string.Concat(new string[] {
             " SELECT COLUMN_NAME,DATA_TYPE,T.VALUE,T.IS_IDENTITY",
             " FROM ", loacalDataBase, ".INFORMATION_SCHEMA.COLUMNS ",
             " INNER JOIN (SELECT B.NAME,C.VALUE,B.IS_IDENTITY FROM SYS.TABLES A ",
             " INNER JOIN SYS.COLUMNS B ON A.OBJECT_ID = B.OBJECT_ID ",
             " INNER JOIN SYS.EXTENDED_PROPERTIES C ON C.MAJOR_ID = B.OBJECT_ID AND C.MINOR_ID = B.COLUMN_ID) T ON COLUMN_NAME=T.NAME ",
             " WHERE TABLE_NAME = '", loacaDataTable, "'"
         });
         ArrayList fieldByConAndSql = dbHelper.GetFieldByConAndSql(strConnction, strSql);
         return(fieldByConAndSql);
     }
     catch (Exception ex)
     {
         Log4net.log4netCreate(typeof(GeneratedFileController), log4netPath)
         .Error("GetCloumnByTable(string loacalDataBase, string loacaDataTable) ---- > " + ex.Message);
         throw;
     }
 }
        //读取模板
        public JsonResult ReadTemplate(int marking)
        {
            string TemplateType = string.Empty;

            switch (marking)
            {
            case (int)TemplateEnum.BLL: TemplateType = "BLLTemplate.txt"; break;

            case (int)TemplateEnum.Model: TemplateType = "ModelTemplate.txt"; break;

            case (int)TemplateEnum.DAL: TemplateType = "DALTemplate.txt"; break;
            }
            string TemplatePath = Server.MapPath("~/App_Data/Template/" + TemplateType);

            //文件路径计入缓存
            CacheGeneral.SetCache("TemplatePath", TemplatePath);
            //读取模板
            string strTxt = ReadTxt(TemplatePath);

            if (strTxt.Contains("读取模板错误"))
            {
                return(Json(new { message = "Fail", content = "读取模板错误 ! " }));
            }
            else
            {
                return(Json(new { message = "Success", content = strTxt }));
            }
        }
 //根据数据库联动表名
 public JsonResult LoginTable(string localDB)
 {
     try
     {
         string strConnction = string.Concat(new string[] {
             "SERVER=", CacheGeneral.GetCache("key_localIP").ToString(),
             ";DATABASE=MASTER;UID=", CacheGeneral.GetCache("key_userAccount").ToString(),
             ";PWD=", CacheGeneral.GetCache("key_userPwd").ToString()
         });
         string    sqlStr          = @"SELECT TABLE_NAME FROM " + localDB + ".INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME";
         string    message         = (string)null;
         ArrayList dataByConAndSql = dbHelper.GetDataByConAndSql(strConnction, sqlStr, out message);
         return(Json(new { message = "Success", content = JsonConvert.SerializeObject(dataByConAndSql) }));
     }
     catch (Exception ex)
     {
         Log4net.log4netCreate(typeof(GeneratedFileController), log4netPath)
         .Error("LoginTable(string localDB) ---- > " + ex.Message);
         return(Json(new { message = "Fail", content = "表查询错误," + ex.Message }));
     }
 }