多表问题可以用视图来解决,但我的主要问题是where 后面的东西怎么来生成??

解决方案 »

  1.   

    hehe这个问题好像有关多层的概念是什么,有没有高手回答一下,支持!
      

  2.   

    我也一直在想这个,从理论上是可以的
    就是在存储过程中动态构建sql语句,并且执行这个sql语句
    做过个简单的例子,是可行的,把所有的的查询条件作变量传给存储过程
    但我的查询条件比较多,就显得比较麻烦,就放弃了
    在sql里就是建一个string变量
    根据条件,不断的set
    最后exec这个sql语句就可以了
      

  3.   

    用函数 charindex 在帮助中找一下全有了。
      

  4.   

    to  ponycsdn(驰骏) 
    跟charindex有什么关系呀,呵呵
      

  5.   

    我看过petshop。
    他是把sqlstr定义好了。然后传进去一个参数(是一个数组)。然后在数据层内部组合成sql语句,但实际应用中,项目大一些,表多一些,这样的工作量就太大了。无法采用petshop的方法。但如果table名和condition都是我在web层或bus层生成的话,那么不就是我去数据库非常的了解了吗?那么也就无法答到移值了,对于什么数据库也定得很死(sqlserver与oracle的高级语句差不少呢)。
      

  6.   

    那你把列名跟列名的值都作为参数传过去
    然后再动态生成SQL
      

  7.   

    我看过petshop。
    他是把sqlstr定义好了。然后传进去一个参数(是一个数组)。然后在数据层内部组合成sql语句,但实际应用中,项目大一些,表多一些,这样的工作量就太大了。无法采用petshop的方法。但如果table名和condition都是我在web层或bus层生成的话,那么不就是我去数据库非常的了解了吗?那么也就无法答到移值了,对于什么数据库也定得很死(sqlserver与oracle的高级语句差不少呢)。不对。我的项目之一就是动态合成sql,近百个表,工作的很好。
      

  8.   

    to: athossmth(athos)
    怎么个动态合成法,举个例子好吗?谢谢