把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.年审();