DataTable与Object互相转换及相关函数转换大全(DataConvert类)
public class DataConvert
{
/// <summary>
/// 根据类创建表结构
/// </summary>
public static DataTable CreateTable(Type t)
/// <summary>
/// 根据对象的属性创建数据表
/// </summary>
private static DataTable BuiltTable(PropertyInfo[] pinfo)
/// <summary>
/// Object to Object. 将一个对象转换为指定类型的对象.
/// 注意: destination内的Property必需在source内存在.
/// </summary>
public static object CopyProperties(object source, Type destination)
/// <summary>
/// 指定参数是否可用于浅拷贝
/// </summary>
private static bool CanShallowCopyProperty(object propValue)
/// <summary>
/// 复制对象属性.
/// </summary>
public static void CopyProperties(object source, object destObj)
/// <summary>
/// 复制对象. 浅拷贝.
/// </summary>
public static object CloneObject(object source)
/// <summary>
/// 复制一个对象数组.
/// </summary>
public static ArrayList CloneObjects(IList source)
/// <summary>
/// 获取对象指定属性的值
/// </summary>
public static object GetValueOfObject(object obj, string property)
/// <summary>
/// 纵对象数据组取出某一个对象. 返回对象指定属性名称(returnPropName)的值
/// </summary>
public static object GetObjectValueByKey(IList objects, string keyPropName, object keyValue, string returnPropName)
/// <summary>
/// 纵对象数据组取出某一个对象. 参数指定关键字段名称(keyPropName)及值(keyValue).
/// </summary>
public static object GetObjectByKey(IList objects, string keyPropName, object keyValue)
/// <summary>
/// 查找对象包含指定属性.
/// </summary>
public static bool FindProperty(object obj, string property)
public static void SetValueofDataRow(DataRow dr, string field, object value)
/// <summary>
/// 设置对象某个属性的值
/// </summary>
public static void SetValueOfObject(object obj, string property, object value)
public static void SetPropertyValue(object instance, PropertyInfo prop, object value)
/// <summary>
/// 根据IList对象创建数据表
/// </summary>
public static DataTable IListToDataTable(IList list)
public static bool ColumnExists(DataTable dt, string columnName)
/// <summary>
/// 根据对象的属性取字段的值
/// </summary>
private static object GetFieldValue(DataRow row, string propertyName)
public static DataRow UpdateDataRowFromObject(DataRow row, object o)
public static DataRow AddDataRowFromObject(DataTable dt, object o)
public static void SetDataRowValue(DataRow row, string fieldName, object value)
public static void SetTwoRowValues(DataRow rowFrom, DataRow rowTo)
/// <summary>
/// 数据行(DataRow)转换为对象,对象的Type由type参数决定.
/// </summary>
public static object DataRowToObject(DataRow row, Type type)
/// <summary>
/// ArrayList转换为对象数组.
/// </summary>
public static object[] ToObjects(IList source)
/// <summary>
/// 对象数组转换为ArrayList.
/// </summary>
public static ArrayList ToArrayList(IList list)
/// <summary>
/// 对象数组转换为ArrayList.
/// </summary>
public static ArrayList ToArrayList(object[] source)
/// <summary>
/// 把字符串以逗号分格,转换成数据库格式in(''a'',''b'')
/// </summary>
public static string ToSQLInDataFormat(string input)
/// <summary>
/// 把字符串以逗号分格,转换成数据库格式''''a'''',''''b''''
/// </summary>
public static string ToSQLInDataFormatTwo(string input)
public static string ToSQLInDataFormat(string[] input)
/// <summary>
/// 从table转成dataset
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DataSet TableToDataSet(DataTable dt)
public static DataSet TableToDataSet(DataTable[] dtArr)
/// <summary>
/// 修改对表的某列的值
/// </summary>
public static bool UpdateTableCol(DataTable dt, string fieldName, object value)
/// <summary>
/// 以逗号分格字符串,返回数组
/// 如果第一个和最后一个字符为, 去掉
/// </summary>
public static string[] ToStringSplit(string str)
/// <summary>
/// 把一个行的数据新增一个表中
/// </summary>
public static DataTable AddTableRowByRow(DataTable dt, DataRow dr)
}
{
/// <summary>
/// 根据类创建表结构
/// </summary>
public static DataTable CreateTable(Type t)
/// <summary>
/// 根据对象的属性创建数据表
/// </summary>
private static DataTable BuiltTable(PropertyInfo[] pinfo)
/// <summary>
/// Object to Object. 将一个对象转换为指定类型的对象.
/// 注意: destination内的Property必需在source内存在.
/// </summary>
public static object CopyProperties(object source, Type destination)
/// <summary>
/// 指定参数是否可用于浅拷贝
/// </summary>
private static bool CanShallowCopyProperty(object propValue)
/// <summary>
/// 复制对象属性.
/// </summary>
public static void CopyProperties(object source, object destObj)
/// <summary>
/// 复制对象. 浅拷贝.
/// </summary>
public static object CloneObject(object source)
/// <summary>
/// 复制一个对象数组.
/// </summary>
public static ArrayList CloneObjects(IList source)
/// <summary>
/// 获取对象指定属性的值
/// </summary>
public static object GetValueOfObject(object obj, string property)
/// <summary>
/// 纵对象数据组取出某一个对象. 返回对象指定属性名称(returnPropName)的值
/// </summary>
public static object GetObjectValueByKey(IList objects, string keyPropName, object keyValue, string returnPropName)
/// <summary>
/// 纵对象数据组取出某一个对象. 参数指定关键字段名称(keyPropName)及值(keyValue).
/// </summary>
public static object GetObjectByKey(IList objects, string keyPropName, object keyValue)
/// <summary>
/// 查找对象包含指定属性.
/// </summary>
public static bool FindProperty(object obj, string property)
public static void SetValueofDataRow(DataRow dr, string field, object value)
/// <summary>
/// 设置对象某个属性的值
/// </summary>
public static void SetValueOfObject(object obj, string property, object value)
public static void SetPropertyValue(object instance, PropertyInfo prop, object value)
/// <summary>
/// 根据IList对象创建数据表
/// </summary>
public static DataTable IListToDataTable(IList list)
public static bool ColumnExists(DataTable dt, string columnName)
/// <summary>
/// 根据对象的属性取字段的值
/// </summary>
private static object GetFieldValue(DataRow row, string propertyName)
public static DataRow UpdateDataRowFromObject(DataRow row, object o)
public static DataRow AddDataRowFromObject(DataTable dt, object o)
public static void SetDataRowValue(DataRow row, string fieldName, object value)
public static void SetTwoRowValues(DataRow rowFrom, DataRow rowTo)
/// <summary>
/// 数据行(DataRow)转换为对象,对象的Type由type参数决定.
/// </summary>
public static object DataRowToObject(DataRow row, Type type)
/// <summary>
/// ArrayList转换为对象数组.
/// </summary>
public static object[] ToObjects(IList source)
/// <summary>
/// 对象数组转换为ArrayList.
/// </summary>
public static ArrayList ToArrayList(IList list)
/// <summary>
/// 对象数组转换为ArrayList.
/// </summary>
public static ArrayList ToArrayList(object[] source)
/// <summary>
/// 把字符串以逗号分格,转换成数据库格式in(''a'',''b'')
/// </summary>
public static string ToSQLInDataFormat(string input)
/// <summary>
/// 把字符串以逗号分格,转换成数据库格式''''a'''',''''b''''
/// </summary>
public static string ToSQLInDataFormatTwo(string input)
public static string ToSQLInDataFormat(string[] input)
/// <summary>
/// 从table转成dataset
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static DataSet TableToDataSet(DataTable dt)
public static DataSet TableToDataSet(DataTable[] dtArr)
/// <summary>
/// 修改对表的某列的值
/// </summary>
public static bool UpdateTableCol(DataTable dt, string fieldName, object value)
/// <summary>
/// 以逗号分格字符串,返回数组
/// 如果第一个和最后一个字符为, 去掉
/// </summary>
public static string[] ToStringSplit(string str)
/// <summary>
/// 把一个行的数据新增一个表中
/// </summary>
public static DataTable AddTableRowByRow(DataTable dt, DataRow dr)
}
CDataConverter.rar
参考文档:
FastReport.NET 2023使用DataTable报表数据源配置JsonDataSourceConnection连接|C/S开发框架
FastReport.NET 2023使用DataTable报表数据源配置MsSqlDataConnection连接|C/S开发框架
C#DataTable(转List /JSON/字典 互转)-C/S开发框架
C# DataSet和DataTable
SQL命令生成器:GenerateSqlCmdByTableFields,GenerateSqlCmdByObjectClass
关于数据载体,界面基于DataTable处理,为什么不用对象实体?
[原创]递归读取DataTable加载TreeList控件
代码生成器 CodeGenerator V6.1 | 提供两种生成报表策略(表格/标签,TableObject/TextObject)|C/S开发框架
C# DataTable与XML互转|C/S开发框架
使用System.Data.OracleClient组件搭建Oracle数据库连接获取DataTable|C/S开发框架
删除DataTable空记录行 RemoveEmptyRows
SqlBulkCopy.WriteToServer报错:“Unable to cast object of type 'System.Guid' to type 'System.String'.”
C# 对象克隆 TOut ObjectHelper.Clone |C/S开发框架
C#中 object类型,c# object-C/S开发框架
CSFramework.DB多数据库支持组件DbDataUpdate.UpdateObject详解
WCF开发框架之ICommunicationObject 对象详解
FastReport.NET 2023使用DataTable报表数据源配置JsonDataSourceConnection连接|C/S开发框架
FastReport.NET 2023使用DataTable报表数据源配置MsSqlDataConnection连接|C/S开发框架
C#DataTable(转List /JSON/字典 互转)-C/S开发框架
C# DataSet和DataTable
SQL命令生成器:GenerateSqlCmdByTableFields,GenerateSqlCmdByObjectClass
关于数据载体,界面基于DataTable处理,为什么不用对象实体?
[原创]递归读取DataTable加载TreeList控件
代码生成器 CodeGenerator V6.1 | 提供两种生成报表策略(表格/标签,TableObject/TextObject)|C/S开发框架
C# DataTable与XML互转|C/S开发框架
使用System.Data.OracleClient组件搭建Oracle数据库连接获取DataTable|C/S开发框架
删除DataTable空记录行 RemoveEmptyRows
SqlBulkCopy.WriteToServer报错:“Unable to cast object of type 'System.Guid' to type 'System.String'.”
C# 对象克隆 TOut ObjectHelper.Clone |C/S开发框架
C#中 object类型,c# object-C/S开发框架
CSFramework.DB多数据库支持组件DbDataUpdate.UpdateObject详解
WCF开发框架之ICommunicationObject 对象详解
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
