[netMarketing类库] EntityHelper类和SQLServerClient类,Sql Server数据库表实体类操作的类

命名空间:netMarketing.database

功能:EntityHelper类和SQLServerClient类,数据库表实体类操作的类

版本要求:netMarketing1.3.1

功能详细说明:
这个类用于SQL Server数据表的操作。它通过表对应的实体类来操作表。

勇哥谈谈实体类操作表的方式是怎么样的?有什么好处?

下图中是数据库中的表。

image.png

下图是实体类生成工具,生成的类“柔性撕膜机”,它是一个实体类。

image.png

使用下面的代码,则返回结果res中是一个List<柔性撕膜机>的查询结果。

 SQLServerClient client = new SQLServerClient();
 var res= client.readTable<柔性撕膜机>("select * from dbo.柔性撕膜机");

实际上,client.readTable的实现是下面代码所示:

它使用了类EntityHelper的方法GetEntityListByDT<T>,它是一个范型,你可以传入需要的实体类。

  public List<T> readTable<T>(string sql)
        {
            cmd.CommandText = sql;
            set.Tables.Clear();
            myDataAdapter.Fill(set);
            if (set.Tables[0].Rows.Count > 0)
            {
                var row = set.Tables[0];
                var res = EntityHelper.GetEntityListByDT<T>(row, null);
                return res;
            }
            return null;
        }


常用函数列表:

//类SQLServerClient的成员

//构造,conn为传入的数据库连接字符串
public SQLServerClient(string conn)
//读数据表,返回数据表对应的实体类结果
public List<T> readTable<T>(string sql)
/// 连接数据库
public bool ConnectLib()
/// 关闭数据库
public bool CloseLib()


//类EntityHelper的成员

/// 判断DataSet默认表是否为空:true:不为空 false:为空。
public static bool CheckDataSet(DataSet ds)
/// 判断DataSet指定索引表是否为空:true:不为空 false:为空。
public static bool CheckDataSet(DataSet ds, int tableIndex)
/// 根据数据表生成相应的实体对象列表
public static List<T> GetEntityListByDT<T>(DataTable srcDT, Hashtable relation)
///  将SqlDataReader转换成数据实体 
public static T GetEntityListByDT<T>(SqlDataReader dr)
///  将数据行转换成数据实体
public static T GetEntityListByDT<T>(DataSet ds)
///  将数据行转换成数据实体
public static T GetEntityListByDT<T>(DataRow row, Hashtable relation)
///  将多数据行转换成数据实体列表
public static List<T> GetEntityListByDT<T>(DataRow[] rows, Hashtable relation)
/// 为对象的属性赋值
private static void SetPropertyValue(PropertyInfo prop, object destObj, object value)
/// 用于类型数据的赋值
private static object ChangeType(Type type, object value)


有了EntityHelper类的辅助,可以极大的方便操作数据库的表。是一个十分有用常类。


--------------------- 

作者:hackpig
来源:
www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!

返回类库功能说明目录


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864