关于三层架构的小问题----如何应对多变的查询 - 软件工程/管理 / 开发过程版
三层:表现层;逻辑层;数据层;
有一需求:传入查询条件,得到数据。查询条件数目不定,通常的解决方法是在表现层拼凑SQL语句。如:
if(textEdit1.Text != "")
{
sql += "and name = '"+textEdit1.Text.Trim()+"'";
}
。这样感觉不太好,表现层里出现了SQL。那么有什么好的办法,可以将拼SQL或类似的工作放在数据层呢?谢谢。
[解决办法]
参考建议
1、弄个映射关系,可以很简单甚至默认表单中的entity=table、field=column;
2、表现层传递一个list<Condition>之类的东西;
3、数据层根据映射关系和list<Condition>解析生成sql。
[解决办法]
我觉得LZ这样子处理也是可以的。就用最直接的方法,程序的可读性也是很重要的。