using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Reflection;
using System.Web;
using Newtonsoft.Json;
namespace WebAPI.DbUntil
{
public class DataFormatUntil
{
///
/// dataset转list
///
///
///
///
///
public static List PutAllVal(T entity, DataSet ds) where T : new()
{
List lists = new List();
if (ds.Tables[0].Rows.Count > 0)
{
foreach (DataRow row in ds.Tables[0].Rows)
{
lists.Add(PutVal(new T(), row));
}
}
return lists;
}
///
/// datarow转model
///
///
///
///
///
public static T PutVal(T entity, DataRow row) where T : new()
{
//初始化 如果为null
if (entity == null)
{
entity = new T();
}
//得到类型
Type type = typeof(T);
//取得属性集合
PropertyInfo[] pi = type.GetProperties();
foreach (PropertyInfo item in pi)
{
//给属性赋值
if (row[item.Name] != null && row[item.Name] != DBNull.Value)
{
if (item.PropertyType == typeof(System.Nullable))
{
item.SetValue(entity, Convert.ToDateTime(row[item.Name].ToString()), null);
}
else
{
item.SetValue(entity, Convert.ChangeType(row[item.Name], item.PropertyType), null);
}
}
}
return entity;
}
#region 返回sql影响行数
public static int BackRowCount(string sql,string tableName)
{
return new SQLHelper.ClsCN().RunProcReturn(sql, tableName).Tables[0].Rows.Count;
}
#endregion
#region 返回sql返回的数据标题
public static List