手写ORM+反射的增删改查

显示: 

//显示
public DataTable show(T model)
{
   //先判断传过来的是什么类型
   Type t=model.GetType();
   //返回公共属性
   PropertyInfo[]  infos=t.GetProperties();
   //sql语句
   string sql=string.Format("select * from"+t.Name);
   var ss=DBHelper.GetTable(sql)//DBHelper是sql通用类
   return ss;

}

 添加:

  public int Add(T model)
        {
            //判断是什么类型的
            Type t = model.GetType();
            //公共属性
            PropertyInfo[] infos = t.GetProperties();
            //可变字符串
            StringBuilder builder = new StringBuilder();
            //拼接字符串
            builder.Append("insert into "+t.Name+" values('");
            //定义一个变量
            int i = 0;
            //循环
            foreach (var item in infos)
            {
                i++;
                //判断主键是不是为空
                if (item.Name=="Id")
                {

                }
                else
                {
                    if (i == infos.Length)
                    {
                        builder.Append(item.GetValue(model)).Append("')");

                    }
                    else
                    {
                        builder.Append(item.GetValue(model)).Append("','");
                    }
                }

            }
            return DBHelper.Execute(builder.ToString());

        }

 

删除:

//删除   
public int Delete(T model,int Id)
{
  Type t = model.GetType();
  PropertyInfo[] infos = t.GetProperties();
  string str = "delete from  " + t.Name + " where Id=" + Id;
  return DBHelper.Execute(str);

}

查询: 

//查询
  public DataTable Select(T model,int Id)
        {
            Type t = model.GetType();
            PropertyInfo[] infos = t.GetProperties();
            string str = string.Format("select * from "+t.Name+" where Id="+Id);
            return DBHelper.GetTable(str);
        }

反填:

   //反填
        public DataTable fan(T model,int Id)
        {
            Type t = model.GetType();
            PropertyInfo[] infos = t.GetProperties();
            string str = string.Format("select * from "+t.Name+" where Id="+Id);
            return DBHelper.GetTable(str);

        }
        //修改
        public int xiu(T model,int Id)
        {
            Type t = model.GetType();
            PropertyInfo[] infos = t.GetProperties();
            StringBuilder str = new StringBuilder();
            str.Append("update" + t.Name + "set");

         
            foreach (var item in infos)
            {
  
                    str.Append(item.Name+"='"+item.GetValue(model)+"',");
            
            }
            str = str.Remove(str.Length-1,1);
            str.Append(" where Id="+Id);
            return DBHelper.Execute(str.ToString());
        
        }

 

你可能感兴趣的:(C#)