解决SQL报错提供了过多的参数,最多应为 2100

使用SQLServer或其它数据库时,有时候查询条件过多的情况下会报如下类似的错误:

传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确。此 RPC 请求中提供了过多的参数。最多应为 2100

这是由于查询条件过多造成的,所以需要分割查询条件,下面附上通用的方法:

/**
*分割查询条件集合
*/

private static List> splitList(List lists,int limit){  
    int size=lists.size();  
      
    List> list=new ArrayList>();  
    if(limit>size){  
        list.add(lists);  
        return list;  
    }  
    int result=0;  
    for(int i=0;isize){  
            result=size;  
        }  
        list.add(lists.subList(i, result));  
    }  
    return list;  
}  

你可能感兴趣的:(#,数据库)