代码改变世界

关于SQL语句的自动生成!(一)

2008-04-02 09:19  $等待$  阅读(774)  评论(0编辑  收藏  举报
在我们的日常编程中,数据库的程序基本上都要与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属性设置