Exemplo n.º 1
0
 public Dictionary <int, timewatchConnModel> GetDataBaseSqlConnDic(DbConn PubConn, int dbtype)
 {
     return(SqlHelper.Visit(ps =>
     {
         Dictionary <int, timewatchConnModel> connDic = new Dictionary <int, timewatchConnModel>();
         ps.Add("dbtype", dbtype);
         string sql = "select * from tb_database_config where dbtype=@dbtype";
         DataTable dt = PubConn.SqlToDataTable(sql, ps.ToParameters());
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow dr in dt.Rows)
             {
                 tb_database_config_model m = CreateModel(dr);
                 string sqlconn = ReplaceConnectStringTemplate(m);
                 timewatchConnModel model = new timewatchConnModel()
                 {
                     name = m.dblocalname,
                     connect = sqlconn
                 };
                 connDic.Add(m.id, model);
             }
             return connDic;
         }
         else
         {
             return connDic;
         }
     }));
 }
Exemplo n.º 2
0
        public List <tb_database_config_model> GetList(DbConn PubConn, string keyword, int dbtype, int pagesize, int pageindex, out int count)
        {
            int _count = 0;
            List <tb_database_config_model> model = new List <tb_database_config_model>();
            DataSet dsList = SqlHelper.Visit <DataSet>(ps =>
            {
                string sqlwhere   = " where 1=1 ";
                StringBuilder sql = new StringBuilder();
                sql.Append("select ROW_NUMBER() over(order by id desc) as rownum,* from tb_database_config ");
                if (!string.IsNullOrWhiteSpace(keyword))
                {
                    ps.Add("keyword", keyword);
                    sqlwhere += " and ( dblocalname like '%'+@keyword+'%' or dbname like '%'+@keyword+'%' or dbserver like '%'+@keyword+'%' )";
                }
                if (dbtype != -1)
                {
                    ps.Add("dbtype", dbtype);
                    sqlwhere += " and dbtype=@dbtype ";
                }
                _count        = Convert.ToInt32(PubConn.ExecuteScalar("select count(1) from tb_database_config " + sqlwhere, ps.ToParameters()));
                DataSet ds    = new DataSet();
                string sqlSel = "select * from (" + sql + sqlwhere + ") A where rownum between " + ((pageindex - 1) * pagesize + 1) + " and " + pagesize * pageindex;
                PubConn.SqlToDataSet(ds, sqlSel, ps.ToParameters());
                return(ds);
            });

            foreach (DataRow dr in dsList.Tables[0].Rows)
            {
                tb_database_config_model m = CreateModel(dr);
                model.Add(m);
            }
            count = _count;
            return(model);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 根据模板替换连接字符串
        /// </summary>
        /// <param name="connectstringTemplate"></param>
        /// <param name="o"></param>
        /// <returns></returns>
        public string ReplaceConnectStringTemplate(tb_database_config_model o)
        {
            if (o == null)
            {
                throw new Exception("找不到数据库连接分库配置");
            }
            string connectstringTempLate = "server={dbserver};Initial Catalog={dbname};User ID={dbuser};Password={dbpass};";

            return(connectstringTempLate.Replace("{dbserver}", o.dbserver).Replace("{dbname}", o.dbname)
                   .Replace("{dbuser}", o.dbuser).Replace("{dbpass}", o.dbpass));
        }
Exemplo n.º 4
0
 public string GetDataBaseSqlConn(DbConn PubConn, int dbtype)
 {
     return(SqlHelper.Visit(ps =>
     {
         ps.Add("dbtype", dbtype);
         string sql = "select * from tb_database_config where dbtype=@dbtype";
         DataTable dt = PubConn.SqlToDataTable(sql, ps.ToParameters());
         if (dt.Rows.Count > 0)
         {
             tb_database_config_model m = CreateModel(dt.Rows[0]);
             string sqlconn = ReplaceConnectStringTemplate(m);
             return sqlconn;
         }
         else
         {
             return "";
         }
     }));
 }
Exemplo n.º 5
0
        public ActionResult Update(tb_database_config_model model)
        {
            tb_database_config_dal dal = new tb_database_config_dal();

            try
            {
                using (DbConn PubConn = DbConfig.CreateConn(Config.PlatformManageConnectString))
                {
                    PubConn.Open();
                    dal.Edit(PubConn, model);
                    return(RedirectToAction("index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("Error", ex.Message);
                return(View(model));
            }
        }
        public virtual tb_database_config_model CreateModel(DataRow dr)
        {
            var o = new tb_database_config_model();

            //
            if (dr.Table.Columns.Contains("id"))
            {
                o.id = dr["id"].Toint();
            }
            //数据库本地昵称
            if (dr.Table.Columns.Contains("dblocalname"))
            {
                o.dblocalname = dr["dblocalname"].Tostring();
            }
            //数据库服务器地址
            if (dr.Table.Columns.Contains("dbserver"))
            {
                o.dbserver = dr["dbserver"].Tostring();
            }
            //数据库名称
            if (dr.Table.Columns.Contains("dbname"))
            {
                o.dbname = dr["dbname"].Tostring();
            }
            //数据库用户名
            if (dr.Table.Columns.Contains("dbuser"))
            {
                o.dbuser = dr["dbuser"].Tostring();
            }
            //数据库密码
            if (dr.Table.Columns.Contains("dbpass"))
            {
                o.dbpass = dr["dbpass"].Tostring();
            }
            //数据库类型
            if (dr.Table.Columns.Contains("dbtype"))
            {
                o.dbtype = dr["dbtype"].ToByte();
            }
            return(o);
        }
        public virtual bool Add(DbConn PubConn, tb_database_config_model model)
        {
            List <ProcedureParameter> Par = new List <ProcedureParameter>()
            {
                //数据库本地昵称
                new ProcedureParameter("@dblocalname", model.dblocalname),
                //数据库服务器地址
                new ProcedureParameter("@dbserver", model.dbserver),
                //数据库名称
                new ProcedureParameter("@dbname", model.dbname),
                //数据库用户名
                new ProcedureParameter("@dbuser", model.dbuser),
                //数据库密码
                new ProcedureParameter("@dbpass", model.dbpass),
                //数据库类型
                new ProcedureParameter("@dbtype", model.dbtype)
            };
            int rev = PubConn.ExecuteSql(@"insert into tb_database_config(dblocalname,dbserver,dbname,dbuser,dbpass,dbtype)
										   values(@dblocalname,@dbserver,@dbname,@dbuser,@dbpass,@dbtype)"                                        , Par);

            return(rev == 1);
        }
        public virtual bool Edit(DbConn PubConn, tb_database_config_model model)
        {
            List <ProcedureParameter> Par = new List <ProcedureParameter>()
            {
                //数据库本地昵称
                new ProcedureParameter("@dblocalname", model.dblocalname),
                //数据库服务器地址
                new ProcedureParameter("@dbserver", model.dbserver),
                //数据库名称
                new ProcedureParameter("@dbname", model.dbname),
                //数据库用户名
                new ProcedureParameter("@dbuser", model.dbuser),
                //数据库密码
                new ProcedureParameter("@dbpass", model.dbpass),
                //数据库类型
                new ProcedureParameter("@dbtype", model.dbtype)
            };

            Par.Add(new ProcedureParameter("@id", model.id));

            int rev = PubConn.ExecuteSql("update tb_database_config set dblocalname=@dblocalname,dbserver=@dbserver,dbname=@dbname,dbuser=@dbuser,dbpass=@dbpass,dbtype=@dbtype where id=@id", Par);

            return(rev == 1);
        }
Exemplo n.º 9
0
 public List <string> GetDataBaseSqlConnList(DbConn PubConn, int dbtype)
 {
     return(SqlHelper.Visit(ps =>
     {
         List <string> connLisg = new List <string>();
         ps.Add("dbtype", dbtype);
         string sql = "select * from tb_database_config where dbtype=@dbtype";
         DataTable dt = PubConn.SqlToDataTable(sql, ps.ToParameters());
         if (dt.Rows.Count > 0)
         {
             foreach (DataRow dr in dt.Rows)
             {
                 tb_database_config_model m = CreateModel(dr);
                 string sqlconn = ReplaceConnectStringTemplate(m);
                 connLisg.Add(sqlconn);
             }
             return connLisg;
         }
         else
         {
             return connLisg;
         }
     }));
 }