日期:2014-05-20  浏览次数:20491 次

把SQL语句全部写成方法,我这样做是否合理?
在ASP.net项目中,我把有关对数据库的操作例如SQL语句全部放在了一个类文件中,做为一个逻辑层,现在有一个问题:因为基本上SQL语句都是需要前台来传递参数的,这样,就不能把SQL语句写成返回string类型的属性,我只好全部写成了方法,因为方法才能够传递参数嘛,不知道我这样做是否合理?谢谢指教
例:
public   static   string   WriteSqlsh(string   a)
{
return   "select   *   from   gw   where   id= ' "+a+ " ' ";
}

------解决方案--------------------
不晓得,我写程序一般是看这种语句是否具备通用性,如果让我写,会把top n,字段名,表名和条件等条件都写成参数的形式:
public static string WriteSqlsh(string topcs,string filedname,string wheretj,string tablename.....)
{
return "select "+ topcs + filedname + " from "+ tablenam + " where "+ wheretj
}

------解决方案--------------------
为了分层,而把它们组合在一个文件里,这叫做分层吗?

分层之前,首先做到面向对象地设计。对象的方法封装在对象中,当对“汽车”进行年审的时候,不是写:

汽车 q=new 汽车(车架号);
汽车.年审(q);

而是写:

汽车 q=new 汽车(车架号);
q.年审();

如果你还不理解面向对象的作用,可以想一下这个多态的例子如何实现:
汽车 q=new 军用汽车(车架号);
q.年审();