表示层用到了sql关键字,是不是违背了分层原则? 用存储过程分页,条件用的是@where,在界面上时,出现了 " and 字段名=",出现了 and,between,like这样的sql关键字,这样是不是违背了分层原则,这种情况该怎么写好呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这种情况可以使用一个专门的类来组织SQL语句 也并不算违背。只是不建议。就像linq本身就封装的不错,但他同时也保留了直接使用sql语句的查询gridview,treeview一类的控件更是如此,他提供了一些常规的相对不变的一些东西,但是如果你要变化他们,他也同时提供给你变化的机会。对于n层来说,你可以保留这个,但是不建议调用代码的程序员这么做,除非他实在是特殊需要(net本身也是这么处理的,他保留指针,但通常不用指针,除非你有特别的要求需要你才会声明unsafe去使用他们) 任何一套成熟的架构,必然会有一个SQL语句装配器类似的东西.一来是可以适应数据库迁移,二来也会进行一些加密处理,进而防止sql注入.所以,不论是从可移植性的角度还是安全性的角度,直接拼sql都是不可取的,而与你说的"分层"关系却不大 其实应该将问题的重点倒过来看,既然你具体地发现那些“语法”限制了你使用后台数据系统,“管它什么三层不三层的学究气”呢?你就可以慢慢找出这个具体问题的解决之道。具体问题才可以揭穿许多东西,你自己就可以回答“如果三层是那个样子的那么我没有必要抄袭它”。在研究过ORM(过去)或者LINQ(现在)之后,相信许多人对三层的解释和实现更为实际。 请问如何只用两个按钮来实现gridview 翻页 如何解决firebox以及IE各浏览器排版乱的问题 问一个初级的问题,大家别笑 在线等,当一个用户对某个页面没有权限的时候,该怎么做能让这个页面对次用户实效呢? 如何设置datagrid行的高度 这句SQL如何写? 怎么样在服务器端读取客户机上指定盘符的指定文件 ? 求助,关于页面刷新后控件丢失的问题 试图运行项目时出错,无法在web服务器上启动调试,未将项目配置为进行调试。 ASP.NET有一个HttpPostedFile组件用来上传文件的,谁会使用它,能给我VB的源代码吗? 浏览器关闭提示用户 ASP.NET的处理字符串
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货