System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体涉及一种动态生成sql语句的方法。
技术介绍
1、在报表统计、数据分析等需要多维度查询数据库的系统中,一般会有根据各种条件查询数据库数据的需求,当大批量存在这些需求时,编写对应的sql查询语句会比较繁琐。
技术实现思路
1、本专利技术的目的在于提供一种动态生成sql语句的方法用于解决上述问题。
2、为实现上述目的,本专利技术采用以下技术方案:
3、一种动态生成sql语句的方法,包括以下步骤:
4、s1、创建jsonarray条件,所述jsonarray条件包括若干元素,每个所述元素的组成内容包括连接关系、条件排序及条件主体,其中,所述条件主体包括属性、值及值应用方式;
5、s2、枚举所述值应用方式与sql关键字对应关系,并根据检测出的对应关系填充sql关键字和值;
6、s3、获取所述jsonarray条件内容,查找所述jsonarray条件的sql关键字,取出所述jsonarray条件里元素的属性及值,并和对应的sql关键字拼接生成sql语句。
7、优选地,步骤s3具体为:接收所述jsonarray条件,遍历所述jsonarray条件内容,按照条件排序作为顺序,解析出元素中的属性作为对象,然后根据所述值应用方式查到对应的sql关键字,取出所述jsonarray条件里元素的属性及值,并和对应的sql关键字拼接生成sql语句,从而实现将jsonarray条件转换成sql语句。
9、采用上述技术方案后,本专利技术与
技术介绍
相比,具有如下有益效果:
10、本专利技术提供一种动态生成sql语句的方法,根据jsonarray条件自动生成sql查询语句,减少sql查询语句编写的繁琐性,效率高,可根据实际需求快速自动生成,避免多余的重复性工作。
本文档来自技高网...【技术保护点】
1.一种动态生成SQL语句的方法,其特征在于:包括以下步骤:
2.如权利要求1所述的一种动态生成SQL语句的方法,其特征在于:步骤S3具体为:接收所述JSONArray条件,遍历所述JSONArray条件内容,按照条件排序作为顺序,解析出元素中的属性作为对象,然后根据所述值应用方式查到对应的SQL关键字,取出所述JSONArray条件里元素的属性及值,并和对应的SQL关键字拼接生成SQL语句,从而实现将JSONArray条件转换成SQL语句。
3.如权利要求1所述的一种动态生成SQL语句的方法,其特征在于:所述值应用方式枚举包括equal=等于、notEqual=不等于、contain=包含、notContain=不包含、empty=为空、notEmpty=不为空、hasValue=有值、noValue=没有值。
【技术特征摘要】
1.一种动态生成sql语句的方法,其特征在于:包括以下步骤:
2.如权利要求1所述的一种动态生成sql语句的方法,其特征在于:步骤s3具体为:接收所述jsonarray条件,遍历所述jsonarray条件内容,按照条件排序作为顺序,解析出元素中的属性作为对象,然后根据所述值应用方式查到对应的sql关键字,取出所述jsonarray条件里元素的属性及值,并和对应...
【专利技术属性】
技术研发人员:陈碧勇,方敏,申志奎,
申请(专利权)人:厦门南讯股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。