最近做一个项目为了省事些数据库查询的时候都是把sql语句从Bll传到DAL再执行。不知道这样做会带来什么不良后果希望各位高手指点一些~!

解决方案 »

  1.   


    安全指的就是sql注入攻击。
    可以看看好的框架学习下,楼主用的是三层框架吧。 sql语句还是放到Dal中吧
    然后使用sql参数,注意参数缓存等
      

  2.   


    从理论上说,DAL向BLL提供的是面向对象的操作界面,也就是说编写BLL代码的人不应该想当然地以为底层是什么数据库——甚至也并不是关系数据库。不过,我们所看到的大多数DAL都是为了三层而三层,装个样子,根本不存在称之为灵活架构的DAL解析层。
      

  3.   

    做小项目 用三层 就是为了练手,想习惯一种方式,就要经常使用,这样把和别人合作也成为一个编码习惯(三层有利团体开发)。
    接口 就是你把 数据层访问 封装成dll 公共类,用接口的方式传递你的参数,这样正式些,野相对安全
      

  4.   

    第一次接触这个灵活架构的DAL解析层,以前学习的时候用DAL都是只知其然不知其所以然,看样在三层还有待于进一步挖掘啊~!
      

  5.   

    个人认为:既然是BLL,就应该尽量避免直接传递sql. SQL应该是dal去处理的.
      

  6.   

    还不是为了节省时间,用Bll传递在dal中一个方法就可以多次使用了~!
    只是不知道后果会怎样~!
      

  7.   

    个人感觉存储过程只适用于大批量的数据查询,小量数据感觉还是用sql语句的好~!
      

  8.   

    SQL语句写成参数化应该没大问题了.唯一的不足是临时编译的.
      

  9.   

    从简便的角度来看有点道理,
    不过实际上VS已与MSSQL有很高的集成,直接在VS中编存储一样方便.