zoukankan      html  css  js  c++  java
  • python 根据传进来的参数,动态拼接sql

    根据传进来的参数,动态拼接sql,可用于实现一个方法,有些字段不确定,又用到的情况,如查询,三个查询条件,有的时候只用到一个查询条件,其他用不到则不需要拼接

     

        def show_runjob_detail(self, conditionList, valueList, fieldlist, rows):
            '''
            根据传进来的列名、具体的值和返回的字段的个数,动态查询定时任务的信息
            param:conditionList:要查询的具体的列名
            param:valueList:要查询具体列名的值
            param:fieldlist:select语句要查询出来的表的字段
            param:rows:行数
            '''
            fieldlist = []
            if len(fieldlist) == 0:
                fieldlist = ['id', 'job_id', 'test_suite_id', 'name', 'runtime', 'status']
            search_value = fieldlist[0]
            log.log().logger.info(fieldlist)
            for i in range(1, len(fieldlist)):
                # 将传进来的fieldlist拼接起来
                search_value = search_value + ','+fieldlist[i]
            condition = ' status not in (5) '
            for i in range(len(conditionList)):
                if len(valueList[i]):
                    # 循环遍历列名和具体的值,有具体的value值,继续拼接sql
                    condition = condition + ' and ' + str(conditionList[i]) + ' like "%' + str(valueList[i]) + '%"'
            sql = 'select ' + str(search_value) + ' from test_run_job where ' + str(condition) \
                  + ' order by id desc limit '+str(rows)
    

      

  • 相关阅读:
    HomeFragment 嵌套关系
    mysql 变量定义 sql查询
    MSSQLSERVER执行计划详解
    数据传输常用的三种格式:XML、JSON(JSONP)、YAML
    数据传输常用的三种格式:XML、JSON(JSONP)、YAML
    C-链表
    C-链表
    JVM+微服务+多线程+锁+高并发性能
    JVM+微服务+多线程+锁+高并发性能
    vba实现字母全部转小写
  • 原文地址:https://www.cnblogs.com/cuitang/p/15656676.html
Copyright © 2011-2022 走看看