zoukankan      html  css  js  c++  java
  • 反射实体列表

            /// <summary>
            /// 获取单条数据
            /// </summary>
            /// <param name="Id">Id</param>
            /// <returns></returns>
            public LinksEntity GetLinksEntity(Int64 Id)
            {
                LinksEntity LinksEntity = null;
                SqlParameter[] Para = new SqlParameter[1];
                Para[0] = new SqlParameter("@Id", Id);
                DataSet Set = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, procedurePrefixes + "Links_GetInfoById", Para);
                if (Set.Tables[0].Rows.Count > 0)
                {
                    LinksEntity = new LinksEntity();
                    DataRow dr = Set.Tables[0].Rows[0];
                    foreach (DataColumn dc in dr.Table.Columns)
                    {
                        PropertyInfo pi = LinksEntity.GetType().GetProperty(dc.ColumnName);
                        if (pi != null)
                        {
                            if (dr[dc.ColumnName] != DBNull.Value)
                            {
                                if (pi.PropertyType.IsEnum)
                                {
                                    pi.SetValue(LinksEntity, Enum.ToObject(pi.PropertyType, dr[dc.ColumnName]), null);
                                }
                                else
                                {
                                    pi.SetValue(LinksEntity, dr[dc.ColumnName], null);
                                }
                            }
                            else
                            {
                                pi.SetValue(LinksEntity, null, null);
                            }
                        }
                    }
                }
                return LinksEntity;
            }
            /// <summary>
            /// 按条件选择数据
            /// </summary>
            /// <param name="condition">Chaige.Pagination.Condition</param>
            /// <returns></returns>
            public IList<LinksEntity> GetLinksList(Chaige.Pagination.Condition condition)
            {
                IList<LinksEntity> list = new List<LinksEntity>();
                if (condition.TableName == "")
                    condition.TableName = tablePrefixes + "Links";
                SqlParameter[] Para = new SqlParameter[5];
                Para[0] = new SqlParameter("@TableName", condition.TableName);
                Para[1] = new SqlParameter("@TopNum", condition.TopNum);
                Para[2] = new SqlParameter("@FieldList", condition.FieldList);
                Para[3] = new SqlParameter("@Conditions", condition.Conditions);
                Para[4] = new SqlParameter("@OrderBy", condition.OrderBy);
                DataSet Set = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, procedurePrefixes + "Condition", Para);
                foreach (DataRow dr in Set.Tables[0].Rows)
                {
                    LinksEntity LinksEntity = new LinksEntity();
                    foreach (DataColumn dc in dr.Table.Columns)
                    {
                        PropertyInfo pi = LinksEntity.GetType().GetProperty(dc.ColumnName);
                        if (pi != null)
                        {
                            if (dr[dc.ColumnName] != DBNull.Value)
                            {
                                if (pi.PropertyType.IsEnum)
                                {
                                    pi.SetValue(LinksEntity, Enum.ToObject(pi.PropertyType, dr[dc.ColumnName]), null);
                                }
                                else
                                {
                                    pi.SetValue(LinksEntity, dr[dc.ColumnName], null);
                                }
                            }
                            else
                            {
                                pi.SetValue(LinksEntity, null, null);
                            }
                        }
                    }
                    list.Add(LinksEntity);
                }
                return list;
            }
            /// <summary>
            /// 分页数据
            /// </summary>
            /// <param name="pagination">Chaige.Pagination.Pagination</param>
            /// <returns></returns>
            public IList<LinksEntity> GetLinksList(Chaige.Pagination.Pagination pagination)
            {
                IList<LinksEntity> list = new List<LinksEntity>();
                if (pagination.TableName == "")
                    pagination.TableName = tablePrefixes + "Links";
                SqlParameter[] Para = new SqlParameter[10];
                Para[0] = new SqlParameter("@TableName", pagination.TableName);
                Para[1] = new SqlParameter("@PKey", pagination.PKey);
                Para[2] = new SqlParameter("@FieldList", pagination.FieldList);
                Para[3] = new SqlParameter("@Condition", pagination.Condition);
                Para[4] = new SqlParameter("@OrderBy", pagination.OrderBy);
                Para[5] = new SqlParameter("@Sql", pagination.Sql);
                Para[6] = new SqlParameter("@SqlGetRC", pagination.SqlGetRC);
                Para[7] = new SqlParameter("@CurrPage", pagination.CurrPage);
                Para[8] = new SqlParameter("@PageSize", pagination.PageSize);
                Para[9] = new SqlParameter("@RecordCount", pagination.RecordCount);
                DataSet Set = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, procedurePrefixes + "Pagination", Para);
                recordcount = int.Parse(Set.Tables[1].Rows[0]["RecordCount"].ToString());
                pagecount = int.Parse(Set.Tables[1].Rows[0]["PageCount"].ToString());
                foreach (DataRow dr in Set.Tables[0].Rows)
                {
                    LinksEntity LinksEntity = new LinksEntity();
                    foreach (DataColumn dc in dr.Table.Columns)
                    {
                        PropertyInfo pi = LinksEntity.GetType().GetProperty(dc.ColumnName);
                        if (pi != null)
                        {
                            if (dr[dc.ColumnName] != DBNull.Value)
                            {
                                if (pi.PropertyType.IsEnum)
                                {
                                    pi.SetValue(LinksEntity, Enum.ToObject(pi.PropertyType, dr[dc.ColumnName]), null);
                                }
                                else
                                {
                                    pi.SetValue(LinksEntity, dr[dc.ColumnName], null);
                                }
                            }
                            else
                            {
                                pi.SetValue(LinksEntity, null, null);
                            }
                        }
                    }
                    list.Add(LinksEntity);
                }
                return list;
            }
        }
  • 相关阅读:
    关于Java中变量的意义和注意事项
    成为Android高手的十个建议
    成为Java高手的25个学习目标(经典)
    流体力学神器:Naiad 0.6 Windows版试用
    饭前念诵+感恩辞+感恩白開水
    Android 基本开发规范(必读)
    Python批量重命名Maya场景中的3D物体
    Java高新技术视频笔记:反射
    程序员编程技术迅速提高的终极攻略
    三十、有关联网问题
  • 原文地址:https://www.cnblogs.com/jazzka702/p/2724345.html
Copyright © 2011-2022 走看看