代码如下:
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;
}
上述就是C#学习教程:C#读取数据库返回泛型集合详解(DataSetToList)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)! 您可能感兴趣的文章:关于C#泛型列表List<T>的基本用法
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/905239.html