日期:2014-05-17  浏览次数:20415 次

.net 动态sql语句问题
小弟现在要做一个类似查询的操作 用得sqlserver
界面是【Dropdownlist1(选择作为判定条件的列) +  Dropdownlist2(选择判定条件:大于,小于,等于)
 +  TextBox1(判定的数值)】  +  RadioButtonList(或,且,非) + 【Dropdownlist3(选择作为判定条件的列) +  Dropdownlist4(选择判定条件:大于,小于,等于)+  TextBox2(判定的数值)】 + ....以此类推

现在如果查询的话,where后面的字段名,条件,关系,数量都是不确定的,我要怎么写才能把提交的信息变为计算机能懂的数学上的判定条件呢,求指教啊,跪谢!
.net 数据库 sql

------解决方案--------------------
用stringbuilder循环拼接起来放到where条件里面

至于你说的将提交信息变为计算机能读懂的数学条件,不太明白你的意思

sql里面有case when方法,不知道你是不是需要这个
或者你也可以在where条件里面拼接if else
------解决方案--------------------
string cond=" Where 1=1 ";

if(Dropdownlist1的选项值!=""){
   cond+=" and 字段1=选项值";
}

if(Dropdownlist2的选项值!=""){
  cond+=" and 字段2=选项值";
}
....
------解决方案--------------------
你说的是这个意思吧
string condition=strig.Empty;
当你选择一次条件的时候,condition+="选择的条件";
最后拼接完Where条件之后和前面的操作拼到一起就行了,怎么看怎么像某个学生在求作业
------解决方案--------------------
就是拼接SQL了
每个RadioButtonList(或,且,非)的三个分别列举

------解决方案--------------------
友情帮顶!