自己一直都是学习使用asp.net mvc框架+linQ的,所以对于ado.net基本上一无所知,最近接了个小项目,所以打算学习+用ado.net来完成。
        首先就想到了,写一个通用点SQLHelper类来辅助完成数据库的操作。

1.定义一个类:public class SQLHelper<T> where T : class, new()
        说明:SQLHelper有一个T的泛型类型,T属于class,new(),否则T就不能T t =new T()这样使用new关键字了!

2.之后就是数据库的链接和关闭等操作:

        }


3.对数据库进行读写操作。

        }

解释:
        //判断是SQL语句中参数的值对象是否为空
        //例如:new{Id=1,Name="Test"}
            if (obQuery != null)
            {
            //获取SQL语句中参数的值对象中的属性类型和值
                PropertyInfo[] pis = obQuery.GetType().GetProperties();
            //循环遍历对象中的属性
                foreach (var p in pis)
                {
              //利用反射将Id,Name等值填充到SQL语句中的参数中
                    command.Parameters.Add(new SqlParameter(p.Name, p.GetValue(obQuery, null)));
                }
            }

查询操作中,返回的是SQLDataReader对象,如何获取我们所需要的列表,分页,单个实体呢?
4.返回列表List<T>,还是利用泛型+反射

        }


5.返回分页,获取PagesList<T>
5.1。分页实体类:

    }


5.2。实现分页,返回PagesList<T>

        }


6.获取单个实体类:T

        }


7.调用方法:ResumeTM为数据库表的实体类

        }


哈哈。。写好了。。。有什么写得不好的,希望大家多多指教。拍拍砖。。。

相关文章:

  • 2022-12-23
  • 2021-11-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-13
  • 2021-12-26
  • 2021-10-24
猜你喜欢
  • 2021-09-11
  • 2022-01-08
  • 2022-01-14
  • 2022-12-23
  • 2021-06-20
  • 2022-01-21
  • 2022-01-27
相关资源
相似解决方案