jqgird 单字段查询的多种查询方式的后台实现
? ? ? 近期在研究jqgrid,在里面涉及到了单字段查询。里面用到的查询方式有很多,比如等于、不等于、包含等等,都需要在后台实现。个人感觉这个后台的实现能够用到很多地方,所以在此保留,以供后用。请勿见笑。
?
public static String getOperation(String sField, String sOper,String sValue){if(sOper==null || sOper.trim().length() ==0)return "";String result = "";if(sOper.trim().equals("eq")) //等于result = sField + "='" + sValue +"' ";else if(sOper.trim().equals("ne")) //不等于result = sField + " != '"+ sValue+"' ";else if(sOper.trim().equals("lt"))//小于result = sField + " < '"+ sValue+"' ";else if(sOper.trim().equals("le"))//小于等于result = sField + " <= '"+ sValue+"' ";else if(sOper.trim().equals("gt"))//大于result = sField + " > '"+ sValue+"' ";else if(sOper.trim().equals("ge"))//大于等于result = sField + " >= '"+ sValue+"' ";else if(sOper.trim().equals("bw"))//以...开始result = sField + " LIKE '"+ sValue+"%' ";else if(sOper.trim().equals("bn"))//不以...开始result = sField + " NOT LIKE '"+ sValue+"%' ";else if(sOper.trim().equals("cn")){//包括String[] sv = sValue.split(",");String svString = "";for(int i = 0 ;i<sv.length; i ++){svString += "%"+sv[i]+"%";}result = sField + " LIKE '" +svString+"'";}else if(sOper.trim().equals("nc")){//不包含String[] sv = sValue.split(",");String svString = "";for(int i = 0 ;i<sv.length; i ++){svString += "%"+sv[i]+"%";}result = sField + " NOT LIKE '" +svString + "'";}else if(sOper.trim().equals("nu")) //is nullresult = sField + " IS NULL ";else if(sOper.trim().equals("nn")) //IS NOT NULLresult = sField + " IS NOT NULL ";else if(sOper.trim().equals("ew")) // 以... 结束result = sField + " LIKE '%"+ sValue+"' ";else if(sOper.trim().equals("en"))result = sField + " NOT LIKE '%" +sValue+"' ";return result;}