目录

可用方法

3.39.3. 可用方法

getClause

语 法: public static java.lang.String getClause(java.lang.String sql, int key)

参数说明: sql - 需要分析的SQL语句 key - 检索子句对应的关键字,请参阅API文档

功能说明: 获取SQL中的子句

Returns : SQL子句

调用举例: String SQL = “select id,name from table where id = ‘0001’” //以下取where子句,返回id=’0001’ String sqlClause = SQLParser.getClause(SQL, SQLParser.KEY_WHERE)

getClause

语 法: public java.lang.String getClause(int key)

参数说明: key - 检索子句对应的关键字,请参阅API文档

功能说明: 获取SQL中的子句

Returns : SQL子句

调用举例: String SQL = “select id,name from table where id = ‘0001’” SQLParser sqlParse = new SQLParser(SQL); //以下取where子句,返回id=’0001’ String sqlClause = sqlParse.getClause(SQLParser.KEY_WHERE)

modify

语 法: public static java.lang.String modify(java.lang.String sql, int key, java.lang.String clause)

参数说明: sql - 需要分析的SQL语句 key - 需要修改子句的关键字 clause - 用于替换的子句

功能说明: 修改指定SQL语句中指定的子句

Returns : 修改后的SQL语句

调用举例: //获得报表定义中的数据集元对象 DataSetMetaData dsmd = reportDefine. getDataSetMetaData(); //取到需要修改的数据集对象 SQLDataSetConfig sdsc = (SQLDataSetConfig)dsmd.get( 1 ); //取得数据集对象中的SQL String sql = sdsc.getSQL(); String where = "student.id=scores.id and student.class=2 and student.sex='1'"; //替换SQL中的where条件 sql = SQLParser.modify( sql, SQLParser.KEY_WHERE, where ); //将修改后的SQL设置到数据集对象中 sdsc.setSQL( sql );

mergeWhere

语 法: public static java.lang.String mergeWhere(java.lang.String sql, java.lang.String where)

参数说明: sql - 需要合并WHERE子句的SQL语句 where - 要加入的WHERE条件

功能说明: 将条件表达式合并进SQL语句中的WHERE子句

Returns : 合并后的SQL语句

调用举例: 略