网站建设知识

我们将想法与焦点与您一起共享

当前位置:深圳网站建设 > 网站建设知识> .net还在因为建一个表就要写一个数据库操作过程吗?

.net还在因为建一个表就要写一个数据库操作过程吗?

2015-2-1 10:09:57 独占网络 网站建设知识
      .net由于新添加一个表就需要重新写一个BLL,操作数据库SQL,这样你会发现在制作大型项目的时候,您的时间都会花在建立模型上面去,这样就会影响您的工作效应,还有降低您的工作热情,还有就是增加您的出错次数,在深圳网站建设独占网络看来这些都可以减少,因为我们可以写的泛型就可以解决这些问题。
       那接下来我们就是教大家怎样建立一个泛型去操作数据库,增加的您的工作效率。
       先我们建立一个新model,独占网络把这个叫为 DuZhan.cs
       我们在里面加入两个属性分别是 id,subject,所以我们的代码如下
public partial class Banner
 {
    public int id { set; get; }
    public string subject { set; get; }
    
}
       建立好model之后我们就是把泛型的方法了。
       独占网络这里只是写一个添加的数据的方法,其它方法就是要让大家自己去写,如有不懂联系独占网络(http://www.sz886.com)
下面就是我们添加一个泛型数据库的方法了
public int Add<T>(T model)
{
  int result = 0;

    if (model != null)
      {
                //insert语句
                StringBuilder count = new StringBuilder();

                //参数的个数
                StringBuilder quest = new StringBuilder();

                var t = model.GetType();

                //得到泛型的信息
                PropertyInfo[] properties = t.GetProperties();

                if (properties.Length > 1)
                {
                    SqlParameter[] parameters = new SqlParameter[properties.Length - 1];
                    int i = 0;
                    //循环得到泛型信息
                    foreach (PropertyInfo property in properties)
                    {
                        if (i > 0)
                        {

                            if (!string.IsNullOrEmpty(count.ToString()))
                            {

                                count.Append(",");
                                quest.Append(",");


                            } 
                            //得到泛型里面的参数信息,如我们上面的id,subject,然后加入数据库操作语句中
                            count.Append(property.Name);

                            quest.Append("@" + property.Name);
                                 
                            parameters[i - 1] = new SqlParameter("@" + property.Name, returnSqlDbType(property.PropertyType));
                            object value = property.GetValue(model, null);
                            parameters[i - 1].Value = value;
                        }
                        i++;
                    }
                    //得到Sql语句
                    string strsql = string.Format("insert into {0}({1}) values({2});select @@IDENTITY", typeof(T).Name, count.ToString(), quest.ToString());


                    object obj = DbHelperSQL.GetSingle(strsql, parameters);
                    if (obj == null)
                    {
                        return 0;
                    }
                    else
                    {
                        return Convert.ToInt32(obj);
                    }
                }



            }

            return result;

 }
 
       这里我们就可以完成一个泛型的写法,下面我们就可以调用方法了添加的方法了
 Add<Model.DuZhan>(duzhan);
 这样我们就可以完成操作了,如有不懂联系深圳网站建设独占网络(http://www.sz886.com)
 
始终专注高端网站建设服务 网站建设案例服务方案联系

联系我们

135-3000-5572
151-1257-9390

地址:深圳市龙岗区横岗街道联旺大厦5楼

邮箱:chenmh@sz886.com

我们的优势

12年建站服务经验自主开发后台CMS开发项目不外包无隐形收费

服务198家上市企业服务行业龙头超过70家 营销型网站建设完备的项目流程管理体系网页设计与网站开发技术并重

关于独占网络

十多年来,凭借对设计的深刻理解,对互联网营销趋势的敏锐洞察,独占网络不断修正服务导向,完善创作品格,始终注重专业探索,为所有合作企业机构全力以赴,确保网站的视觉体验与营销转化能力。

我们是一群对互联网抱有执着信念的技术控。从2012年到现在,公司从未建过强大的营销团队,却凭着作品与服务不断保持增长,做到了"桃李不言,下自成蹊。" 我们坚信:每个客户都是一条渠道,每个案例都是一个广告,为企业插上翅膀,助力企业转型升级,我们已做好准备。

专业团队为您提供深圳网站建设、深圳网站制作、深圳营销型网站建设、外贸网站建设等服务,深圳建网站就找独占网络 | 12年专注网站建设

深圳市独占网络科技有限公司 |备案号:粤ICP备15007128| Copyright 2023,ALL Rights Reserved www.sz886.com | Copyright 2023版权所有
Hi,Are you ready? 如果您有意向
请于我们取得联系。

有一个互联网项目想和我们谈谈吗?
您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与你取得联系。当然也欢迎您给我们写信或是打电话,让我们听到你的声音!

独占-整合互联网营销

地址:深圳市龙岗区横岗地铁D出口联旺大厦5楼
大客户专线:深圳 13530005572
售前QQ:1447567909
E-mail: sales@sz886.cn

合作意向表
您希望我们为您提供什么服务?