在DAL层里写一个方法,能根据传的参数不同而去搜索所要的内容。
   也就是说,页面上有6个文本框,我根据不同的内容传进DAL层里的一个方法里,但是,如果那样写的话,
会写很多方法的,所以,请哪个高手,帮小妹解决一下,谢谢

解决方案 »

  1.   

    每次字段都 or一边where 字段1=参数1 or 字段1=参数2 or 字段1=参数3 ....
      

  2.   

    1,如果6个文本框的输入都同时要传入数据库来取数据的话一个sql语句就搞定了:...where 字段1=文本框1 ,字段2=文本框2 字段3=文本框3...,当然,每个文本框要有一个默认值,这样即使用户没有输入也不会产生异常。
    2,如果6个文本框同时只有一个或多个可以作为输入的话就用存储过程了,存储过程可以通吃第一种情况。把这6个文本框的所有输入分别以6个参数传入存储过程,作一些基本的判断和语句组合就可以最终得到可执行的sql语句,用exec(sql)最后执行就好了
      

  3.   

    如果你非常了解什么是DAL,你会想到只有LINQ这样的技术才能解决你的问题。否则就不得不写很多方法!有些人传递一个SQL查询字符串进去,这是没有办法的土办法。不同数据库的SQL写法是有差异的,何况许多数据库还并不支持类似SQL-92标准,甚至有时候DAL底层实现根本不用关系数据库,这样穿进去SQL有点自欺欺人根本不是真正的DAL。
      

  4.   

    所以,在我使用的DAL都是支持LINQ的,也就是说数据库只要有一个可以返回 IQueryable<T> 类型的查询属性就可以了,就可以写各种复杂的查询语句并传递给数据库。你可以以这个目标来选择你的 DAL,看看它是否好用。
      

  5.   

    查询后置建议lz看一下 dataTable.select 或 linq 方面的资料