如何把从数据库查到的数据存到list<T>中? 本来用dataset存储的,但是现在有点问题,想用list<t>来存储查出来的数据,请问怎么写代码?sqlcmd = new MySqlCommand(SqlCmdStr, mysqlconn); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataSet ds= SqlHelper.GetPage(SqlHelper.dbACYY, table, pageSize, pageIndex, fields, sbWhere.ToString(), order, out recordCount);DataTable dt = ds.Tables[0]; List<Model.AdminNavigation> list = new List<Model.AdminNavigation>(); foreach (DataRow item in dt.Rows) { Model.AdminNavigation model = new Model.AdminNavigation(); model.NavID = item["NavID"] is DBNull ? 0 : Convert.ToInt32(item["NavID"]); model.NavName = item["NavName"] is DBNull ? string.Empty : Convert.ToString(item["NavName"]); model.ParentID = item["ParentID"] is DBNull ? 0 : Convert.ToInt32(item["ParentID"]); model.IsNav = item["IsNav"] is DBNull ? false : Convert.ToBoolean(item["IsNav"]); model.NavUrl = item["NavUrl"] is DBNull ? string.Empty : Convert.ToString(item["NavUrl"]); model.Sort = item["Sort"] is DBNull ? 0 : Convert.ToInt32(item["Sort"]); model.Re = item["Re"] is DBNull ? string.Empty : Convert.ToString(item["Re"]); model.PermissionCode = item["PermissionCode"] is DBNull ? 0 : Convert.ToInt32(item["PermissionCode"]); model.PermissionFile = item["PermissionFile"] is DBNull ? string.Empty : Convert.ToString(item["PermissionFile"]); list.Add(model); } DataSet ds= SqlHelper.GetPage(SqlHelper.dbACYY, table, pageSize, pageIndex, fields, sbWhere.ToString(), order, out recordCount);DataTable dt = ds.Tables[0]; List<Model.AdminNavigation> list = new List<Model.AdminNavigation>(); foreach (DataRow item in dt.Rows) { Model.AdminNavigation model = new Model.AdminNavigation(); model.NavID = item["NavID"] is DBNull ? 0 : Convert.ToInt32(item["NavID"]); model.NavName = item["NavName"] is DBNull ? string.Empty : Convert.ToString(item["NavName"]); model.ParentID = item["ParentID"] is DBNull ? 0 : Convert.ToInt32(item["ParentID"]); model.IsNav = item["IsNav"] is DBNull ? false : Convert.ToBoolean(item["IsNav"]); model.NavUrl = item["NavUrl"] is DBNull ? string.Empty : Convert.ToString(item["NavUrl"]); model.Sort = item["Sort"] is DBNull ? 0 : Convert.ToInt32(item["Sort"]); model.Re = item["Re"] is DBNull ? string.Empty : Convert.ToString(item["Re"]); model.PermissionCode = item["PermissionCode"] is DBNull ? 0 : Convert.ToInt32(item["PermissionCode"]); model.PermissionFile = item["PermissionFile"] is DBNull ? string.Empty : Convert.ToString(item["PermissionFile"]); list.Add(model); } 用反序列话吧。 比较快,而且比较省时.public static void ConvertToModel<T>(T t, OracleDataReader dr) { if (dr.Read()) { Type type = typeof(T); for (int i = 0; i < dr.FieldCount; i++) { object tempValue = null; if (dr.IsDBNull(i)) { if (type.GetProperty(dr.GetName(i)) != null) { string typeFullName = type.GetProperty(dr.GetName(i)).PropertyType.FullName; //这里是字段的值为空的话,获取该字段的类型,根据字段类型初始化一个默认值 tempValue = CheckMethods.GetDefaultValue(typeFullName); } } else { tempValue = dr.GetValue(i); } if (type.GetProperty(dr.GetName(i)) != null) { type.GetProperty(dr.GetName(i)).SetValue(t, Convert.ChangeType(tempValue, type.GetProperty(dr.GetName(i)).PropertyType), null); } } } dr.Close(); }public M.Advance400Model GetAdv400ById(string sId) { string strSql = "select * from advance400 where id=1"; M.Advance400Model adv400 = new M.Advance400Model(); DBHelp.OracleDBHelper.ConvertToModel<M.Advance400Model>(adv400, DBHelp.OracleDBHelper.GetDataReaderBySql(strSql)); return adv400; } 少贴代码了,不过大概意思就是这样,你可以反序列化实体,然后把实体类全部添加到List中即可,上面的代码你修改一下就行了。 http://blog.csdn.net/happy09li/article/details/7531804 蛋疼,有Linq不用,自己造轮子。 如何模拟硬件向串口发送数据 分隔字符串并存到一个数组 用C#开发一个软件,要一个开机自动启动的功能 c#,控件treeview,请求帮忙!!!up有分 查询数据库时,DataSet和Output输出参数,哪个更快? 升了个小裤头,散100分!最先100人跟有分 为什么显示不了? C# WinForm获取从RichTextBox中复制图片获取图片路径的问题 如何从一个窗口对象或得另一个窗口对象内的一个控件里面的属性值 DataGrid中如何实现这样的功能? 这样的数据类型转化 关于sqldataadapter.update()的问题
DataTable dt = ds.Tables[0];
List<Model.AdminNavigation> list = new List<Model.AdminNavigation>();
foreach (DataRow item in dt.Rows)
{
Model.AdminNavigation model = new Model.AdminNavigation();
model.NavID = item["NavID"] is DBNull ? 0 : Convert.ToInt32(item["NavID"]);
model.NavName = item["NavName"] is DBNull ? string.Empty : Convert.ToString(item["NavName"]);
model.ParentID = item["ParentID"] is DBNull ? 0 : Convert.ToInt32(item["ParentID"]);
model.IsNav = item["IsNav"] is DBNull ? false : Convert.ToBoolean(item["IsNav"]);
model.NavUrl = item["NavUrl"] is DBNull ? string.Empty : Convert.ToString(item["NavUrl"]);
model.Sort = item["Sort"] is DBNull ? 0 : Convert.ToInt32(item["Sort"]);
model.Re = item["Re"] is DBNull ? string.Empty : Convert.ToString(item["Re"]);
model.PermissionCode = item["PermissionCode"] is DBNull ? 0 : Convert.ToInt32(item["PermissionCode"]);
model.PermissionFile = item["PermissionFile"] is DBNull ? string.Empty : Convert.ToString(item["PermissionFile"]);
list.Add(model);
}
DataSet ds= SqlHelper.GetPage(SqlHelper.dbACYY, table, pageSize, pageIndex, fields, sbWhere.ToString(), order, out recordCount);
DataTable dt = ds.Tables[0];
List<Model.AdminNavigation> list = new List<Model.AdminNavigation>();
foreach (DataRow item in dt.Rows)
{
Model.AdminNavigation model = new Model.AdminNavigation();
model.NavID = item["NavID"] is DBNull ? 0 : Convert.ToInt32(item["NavID"]);
model.NavName = item["NavName"] is DBNull ? string.Empty : Convert.ToString(item["NavName"]);
model.ParentID = item["ParentID"] is DBNull ? 0 : Convert.ToInt32(item["ParentID"]);
model.IsNav = item["IsNav"] is DBNull ? false : Convert.ToBoolean(item["IsNav"]);
model.NavUrl = item["NavUrl"] is DBNull ? string.Empty : Convert.ToString(item["NavUrl"]);
model.Sort = item["Sort"] is DBNull ? 0 : Convert.ToInt32(item["Sort"]);
model.Re = item["Re"] is DBNull ? string.Empty : Convert.ToString(item["Re"]);
model.PermissionCode = item["PermissionCode"] is DBNull ? 0 : Convert.ToInt32(item["PermissionCode"]);
model.PermissionFile = item["PermissionFile"] is DBNull ? string.Empty : Convert.ToString(item["PermissionFile"]);
list.Add(model);
}
public static void ConvertToModel<T>(T t, OracleDataReader dr)
{
if (dr.Read())
{
Type type = typeof(T); for (int i = 0; i < dr.FieldCount; i++)
{
object tempValue = null; if (dr.IsDBNull(i))
{
if (type.GetProperty(dr.GetName(i)) != null)
{
string typeFullName = type.GetProperty(dr.GetName(i)).PropertyType.FullName;
//这里是字段的值为空的话,获取该字段的类型,根据字段类型初始化一个默认值
tempValue = CheckMethods.GetDefaultValue(typeFullName);
}
}
else
{
tempValue = dr.GetValue(i);
} if (type.GetProperty(dr.GetName(i)) != null)
{
type.GetProperty(dr.GetName(i)).SetValue(t, Convert.ChangeType(tempValue, type.GetProperty(dr.GetName(i)).PropertyType), null);
}
}
} dr.Close();
}
public M.Advance400Model GetAdv400ById(string sId)
{
string strSql = "select * from advance400 where id=1"; M.Advance400Model adv400 = new M.Advance400Model(); DBHelp.OracleDBHelper.ConvertToModel<M.Advance400Model>(adv400, DBHelp.OracleDBHelper.GetDataReaderBySql(strSql)); return adv400;
}
少贴代码了,不过大概意思就是这样,你可以反序列化实体,然后把实体类全部添加到List中即可,上面的代码你修改一下就行了。