C#读取数据库返回泛型集合详解(DataSetToList)
protectedvoidPage_Load(objectsender,EventArgse)
{
if(!IsPostBack)
{
IList<LYZX.Model.LYZX_NewsTypeModel>list=GetList<LYZX.Model.LYZX_NewsTypeModel>(System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString,
"select*fromLYZX_NewsType");
GridView1.DataSource=list;
GridView1.DataBind();
}
}
publicstringGetNewsTypeLink(refstringbaseUrl,GuidnewsType)
{
return"";
}
///<summary>
///获取泛型集合
//////</summary>
//////<typeparamname="T">类型</typeparam>
//////<paramname="connStr">数据库连接字符串</param>
///<paramname="sqlStr">要查询的T-SQL</param>
///<returns></returns>
publicIList<T>GetList<T>(stringconnStr,stringsqlStr)
{
using(SqlConnectionconn=newSqlConnection(connStr))
{
using(SqlDataAdaptersda=newSqlDataAdapter(sqlStr,conn))
{
DataSetds=newDataSet();
sda.Fill(ds);
returnDataSetToList<T>(ds,0);
}
}
}
///<summary>
///DataSetToList
///</summary>
///<typeparamname="T">转换类型</typeparam>
///<paramname="dataSet">数据源</param>
///<paramname="tableIndex">需要转换表的索引</param>
//////<returns>泛型集合</returns>
publicIList<T>DataSetToList<T>(DataSetdataset,inttableIndex)
{
//确认参数有效
if(dataset==null||dataset.Tables.Count<=0||tableIndex<0)
{
returnnull;
}
DataTabledt=dataset.Tables[tableIndex];
IList<T>list=newList<T>();
for(inti=0;i<dt.Rows.Count;i++)
{
//创建泛型对象
T_t=Activator.CreateInstance<T>();
//获取对象所有属性
PropertyInfo[]propertyInfo=_t.GetType().GetProperties();
//属性和名称相同时则赋值
for(intj=0;j<dt.Columns.Count;j++)
{
foreach(PropertyInfoinfoinpropertyInfo)
{
if(dt.Columns[j].ColumnName.ToUpper().Equals(info.Name.ToUpper()))
{
if(dt.Rows[i][j]!=DBNull.Value)
{
info.SetValue(_t,dt.Rows[i][j],null);
}
else
{
info.SetValue(_t,null,null);
}
break;
}
}
}
list.Add(_t);
}
returnlist;
}
相关文章
- unity c#面试_spring面试题及答案
- ADO数据库C#中ExecuteReader、ExecuteNonQuery、ExecuteScalar、SqlDataReader、SqlDataAdapter
- c# 连接ACCESS 数据库 OleDbCommand OleDbDataReader
- C#点餐系统_点餐系统数据库设计
- C中MySQL数据库的插入操作(c#mysql 插入)
- 数据C轻松读取Oracle数据库(c# 读取oracle)
- C#自动创建数据库实现代码
- c#连接字符串数据库服务器端口号.net状态服务器端口号
- C#利用ODP.net连接Oracle数据库的操作方法
- 浅谈关于C#的垃圾回收机制
- C#访问PostGreSQL数据库的方法
- 基于C#后台调用跨域MVC服务及带Cookie验证的实现
- c#空合并运算符“??”的使用详解
- C#连接MySql数据库的方法
- c#生成缩略图不失真的方法实例分享
- c#执行excel宏模版的方法
- C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法
- C#实现远程连接ORACLE数据库的方法
- C#窗体读取EXCEL并存入SQL数据库的方法
- C#通过经纬度计算2个点之间距离的实现代码
- c#实现图片二值化例子(黑白效果)