手写ORM+反射的增删改查

博客提及了数据的显示、添加、删除、查询和反填操作,这些操作在信息技术领域的数据处理中较为常见,可用于数据库管理、系统交互等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

显示: 

//显示
public DataTable show<T>(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>(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>(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>(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>(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>(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());
        
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值