《关于SQL语句的自动生成!》一文的代码调用示例

首先感谢PeterXu奉献的《关于SQL语句的自动生成!》一文,读后令我收获颇多;

原文地址:http://blog.csdn.net/peterreg/archive/2008/04/02/2243011.aspx

 

由于在文中没有找到PeterXu大大编写的调用示例,为了能让大家更好的领会其编程思路,我在这里奉送上相关的调用方法;
假定有一个表:Users,包含3个字段:UserNames、Password、Sex;
下边是我根据PeterXu的代码写的示例:

            StringBuilder strsql =new StringBuilder();
            //Select语句自动生成
            IClause icSel = ClauseFactory.Create("Users", ClauseFactory.Flag.Select);
            icSel.Add("UserName",null);//该字段不指定别名
            icSel.Add("Password", "密码");//该字段指定别名
            icSel.Add("Sex", "性别");//该字段指定别名
            icSel.AddWhere("UserName", "cnpoor");//添加查询条件
            strsql.Append(icSel.ToString() + "/r/n");
            icSel.Clear();

 

            //Insert语句自动生成
            IClause icIns = ClauseFactory.Create("Users", ClauseFactory.Flag.Insert);
            icIns.Add("UserName", "cnpoor");//第二个参数为插入的内容
            icIns.Add("Password", "123");//第二个参数为插入的内容
            icIns.Add("Sex", "True");//第二个参数为插入的内容
            strsql.Append(icIns.ToString() + "/r/n");
            icIns.Clear();

 

            //Update语句自动生成
            IClause icUpd = ClauseFactory.Create("Users", ClauseFactory.Flag.Update);
            icUpd.Add("UserName", "cnpoor");//第二个参数为更新的内容
            icUpd.Add("Password", "123");//第二个参数为更新的内容
            icUpd.Add("Sex", "True");//第二个参数为更新的内容
            strsql.Append(icUpd.ToString() + "/r/n");
            icUpd.Clear();

 

            //Delete语句自动生成
            IClause icDel = ClauseFactory.Create("Users", ClauseFactory.Flag.Delete);
            //删除条件
            icDel.AddWhere("UserName", "cnpoor");//第二个参数为删除条件的内容值
            strsql.Append(icDel.ToString() + "/r/n");
            icDel.Clear();

 

            textBox1.Text = strsql.ToString();

话题到这里基本算是完了,下面是我对《关于SQL语句的自动生成!》一文的一点扩展思路,有兴趣的可以继续往下看:

因为不同种类数据库支持的SQL语句规范有所不同,而上文的代码也仅是适用于T-SQL系列语句的生成;

因此,我们可以大胆的扩展这个ClauseFactory,使其能自由的选择数据库,从而获得适用于该类型数据库的SQL语句;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值