日期:2014-05-18  浏览次数:20547 次

大家一起讨论一下高级查询!
不知道大家有好点的查询方法不?做一个通用查询界面(B/S),比如把需要查询的条件维护到一张表里SystemItem(系统参数表),然后哪个模块需要查询,只要把查询的条件传递给这个查询界面就可以查询出相应的条件!以前通常的做法是哪个模块需要做查询,那那个模块就需要做一个查询,现在的思路就只需要做一个通用的查询模块就可以,不知道大家有什么好的方法,最好赋上代码!

------解决方案--------------------
把查询条件 拼成一个串传过去不就好了么 
 where whereString
whereString id=1 and id=2 and ..

高级查询就是拼串的功夫了
------解决方案--------------------
你只用做一个单独类或者存储过程来拼接sql即可啊,
把所有字段作为参数,如果忽略就传入一个特殊值(如0和空串)
让你的拼接方法来完成所有逻辑就行了
------解决方案--------------------
就因为查询条件不一样 
 才用whereString 一个变量 来表示条件啊 
 把所需的条件 拼成 whereString

whereString = "id=1 and id=2 and .... "

select * from table where @whereString
------解决方案--------------------
不需要什么查询的表吧???你只要确定你要查的哪个表就好了,然后自动生成这个表查询的列相应的名字,把条件输入后对应上不就好了?只是把原来的条件改成自动生成的就好了,写一个存储过程实现!