我现在创建了一个SqlCondition对象,里面有field,condition,param三个字段这样前端只要更具要比较的条件生成SqlCondition对象集合就可以了但是这样只能做全是and的sql语句如果是where (A and B )or (C and D)这种嵌套条件我这种方法就不行了,谁能够有好办法?
string strsql=" select * from tb_name where 5=5 "if (条件1){ strsql=strsql+" and " +"条件" } if (条件1){ strsql=strsql+" and " +"条件" } if (条件1){ strsql=strsql+" and " +"条件" } if (条件1){ strsql=strsql+" and " +"条件" }最好不要使用or 和and 一起,那样逻辑不好控制,很容易出错,如果非要那样做,你就先把混合的语句写完,在分析器中执行,确保没有问题。
可是我就是要实现 or 和 and 的混合sql语句,up
我现在是把同一类条件做为一个对象,这样的话 ((A and B)orC) and D and E 就被封装成 Condition{ String field; String comp; String param; } SqlCondition{ Collection conditions;//SqlCondition 或 Condition String comp;//or 或 and } 现在的问题是我的客户端是.net不知道怎么办
strsql=strsql+" and " +"条件"
}
if (条件1){
strsql=strsql+" and " +"条件"
}
if (条件1){
strsql=strsql+" and " +"条件"
}
if (条件1){
strsql=strsql+" and " +"条件"
}最好不要使用or 和and 一起,那样逻辑不好控制,很容易出错,如果非要那样做,你就先把混合的语句写完,在分析器中执行,确保没有问题。
((A and B)orC) and D and E
就被封装成
Condition{
String field;
String comp;
String param;
}
SqlCondition{
Collection conditions;//SqlCondition 或 Condition
String comp;//or 或 and
}
现在的问题是我的客户端是.net不知道怎么办
现在用数组就不行了因为Collection里面可能有SqlCondition也可能有Condition