首页 > 代码库 > SQL模板和模板实例化
SQL模板和模板实例化
需求:需要得出一个数据源DataTable,我已知SQL和HttpRequest如何,通过SQL模板的方式去实例化匹配HttpRequest中的参数实例化为查询SQL,最后返回DataTable
1、SQL模板
1 SELECT 2 SUBSTR(PLACENAME, instr(PLACENAME, ‘-‘) + 1) 场景名, 3 COUNT(*) 小区数, 4 SUM(ALARMCOUNT) 流量TB, 5 ROUND(SUM(USERCOUNT)) 在线用户, 6 SUM(TOTALFLOW) 高负荷小区数, 7 TO_CHAR(ROUND(AVG(DOWNPRBRATE), 2), ‘fm9999990.00‘) || ‘%‘ 小区严重告警, 8 SUM(BURTHENCOUNT) 下行PRB利用率 9 FROM V_CHILDSCENE_REAL_INFO10 WHERE PLACEID = ‘:%PLACEID%‘11 GROUP BY STIME, PLACEID, PLACENAME12 ORDER BY 高负荷小区数 DESC
2、SQL实例化
1 private string CreateSQL(string sql, HttpRequest req) { 2 IList<string> list = new List<string>(); 3 if (sql.IndexOf(":%") > -1) 4 { 5 var mat = Regex.Matches(sql, "(?<=:%)[^%]+(?=%)"); 6 foreach (Match item in mat) 7 { 8 list.Add(item.Value); 9 }10 foreach (var item in list)11 {12 sql = sql.Replace(":%" + item + "%", req[item]);13 }14 }15 return sql;16 }
3、查询数据并返回
1 using (var db = new OracleDB())2 {3 return db.ExecuteDataTable(sql);4 }
SQL模板和模板实例化
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。