zoukankan      html  css  js  c++  java
  • 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_INFO
    10  WHERE PLACEID = ':%PLACEID%'
    11  GROUP BY STIME, PLACEID, PLACENAME
    12  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 }
  • 相关阅读:
    缓存
    java内存模型—先行发生原则
    Java中的阻塞队列
    java的Map
    事务传播性、隔离性与MVCC
    final修饰符
    领域驱动设计和实践
    对象转换利器之Dozer
    SharePoint Iframe 报错“此内容不能显示在一个框架中”
    使用SVG symbols建立图标系统
  • 原文地址:https://www.cnblogs.com/cbread/p/5923558.html
Copyright © 2011-2022 走看看