作者:PeterXu 来源:Blog.CSDN Blog: http://blog.csdn.net/peterreg/
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。本文地址:http://blog.csdn.net/peterreg/archive/2008/04/02/2243011.aspx
在我们的日常编程中,数据库的程序基本上都要与SQL语句打交道,SQL语句的编写不可避免的成为一个头疼的工作。且因为SQL语句是STRING类型,因此在编译阶段查不出错,只有到运行时才能发现错误。
本文的解决方案,通过自动生成SQL语句,在一定程度上降低出错的概率,从而提高编程效率。
public interface IClause
{
void Add(string name, object val);
void AddWhere(string name, object val);
void Clear();
string TableName { set;}
}
首先抽象出生成器的标准接口,Add及Addwhere,分别用增加字段及WHERE条件的,
比如说,在Insert状态下,Add("name","gates")相当于字段name的值为gates
在select状态下,Add("name","gates")相当于字段name的别名为gates即select name as gates
在update状态下,Add("name","gates")相当于字段name的值为gates即update name = "gates"
TableName属性即操作的表名
Clear()是为了一个实例多次应用,清空当前的字段及WHERE条件,表名的设置都通过TABLENAME属性设置