本来用dataset存储的,但是现在有点问题,想用list<t>来存储查出来的数据,请问怎么写代码?sqlcmd = new MySqlCommand(SqlCmdStr, mysqlconn);

解决方案 »

  1.   

    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);
                }
      

  2.   


    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);
       }
      

  3.   

    用反序列话吧。  比较快,而且比较省时.
    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;
            }
      

  4.   


    少贴代码了,不过大概意思就是这样,你可以反序列化实体,然后把实体类全部添加到List中即可,上面的代码你修改一下就行了。
      

  5.   

    http://blog.csdn.net/happy09li/article/details/7531804
      

  6.   

    蛋疼,有Linq不用,自己造轮子。