/// <summary>
        /// 获取单个数据表数据
        /// </summary>
        /// <param name="tableName"></param>
        /// <returns></returns>
        public static IList <TableInfoModel> GetOneTableInfo(string tableName, string dbType, string connectionString)
        {
            DataSet dtTableInfo = null;

            if (IsMySQL(dbType))
            {
                MySQLHelper.connectionString = connectionString;

                dtTableInfo = MySQLHelper.GetDataSet(MySQLHelper.connectionString, CommandType.Text, sqlTableInfoMySQL, new MySql.Data.MySqlClient.MySqlParameter("TableName", MySql.Data.MySqlClient.MySqlDbType.VarChar)
                {
                    Value = tableName
                });
            }
            else
            {
                SqlHelper.connectionString = connectionString;

                dtTableInfo = dataTable.QuerySQL(sqlTableInfo2, new System.Data.SqlClient.SqlParameter("TableName", SqlDbType.NVarChar)
                {
                    Value = tableName
                });
            }

            IList <TableInfoModel> listDataColomn = new List <TableInfoModel>();

            PropertyInfo[] propInfo = typeof(TableInfoModel).GetProperties();

            if (dtTableInfo.Tables.Count > 0)
            {
                listDataColomn = ModuleHelp.GetModelByDT <TableInfoModel>(dtTableInfo.Tables[0], propInfo);
            }

            return(listDataColomn);
        }
Exemple #2
0
        /// <summary>
        /// 根据ID返回填充后的实体类
        /// </summary>
        /// <param name="ID">主键ID</param>
        /// <returns>返回实体类</returns>
        public T GetModule(int ID)
        {
            //实例化实体类
            T TM = new T();

            //从数据库读取
            if (ID > 0)
            {
                DataTable dt = SqlHelper.Query("select * from " + TableName + " where " + KeyName + "=@" + KeyName, ParameterHelp.ParmsByWrite(new string[] { KeyName }, new object[] { ID })).Tables[0];

                if (dt.Rows.Count > 0)
                {
                    object obj;
                    if (propArray != null)
                    {
                        obj = ModuleHelp.GetEntity
                              (
                            TM,
                            dt.Rows[0],
                            propArray
                              );
                    }
                    //读取的数据填充TM
                    else
                    {
                        obj = ModuleHelp.GetEntity
                              (
                            TM,
                            dt.Rows[0]
                              );
                    }
                    TM = (T)obj;
                }
                else
                {
                    TM = (T)ModuleHelp.GetEntity(TM);
                }
            }
            //不从数据取,自动补充值
            else
            {
                TM = (T)ModuleHelp.GetEntity(TM);
            }
            return(TM);
        }
Exemple #3
0
        /// <summary>
        /// 筛选制定字段转为 List<U>
        /// </summary>
        /// <param name="field"></param>
        /// <param name="where"></param>
        /// <returns></returns>
        public List <U> GetChooseFieldToList <U>(string where) where U : class, new()
        {
            string field = "";

            Type typeU = typeof(U);

            PropertyInfo[] prop = typeU.GetProperties();

            foreach (var item in prop)
            {
                if (field == "")
                {
                    field += item.Name;
                }
                else
                {
                    field += "," + item.Name;
                }
            }

            return(ModuleHelp.GetModelByDT <U>(GetChooseField(field, where), prop));
        }
Exemple #4
0
        /// <summary>
        /// 根据ID返回填充后的实体类
        /// </summary>
        /// <param name="where">条件</param>
        /// <returns>返回实体类</returns>
        public T GetModule(string where)
        {
            //实例化实体类
            T TM = new T();

            DataTable dt = SqlHelper.Query("select * from " + TableName + " where " + where).Tables[0];

            if (dt.Rows.Count > 0)
            {
                object obj;
                //读取的数据填充TM
                if (propArray != null)
                {
                    obj = ModuleHelp.GetEntity
                          (
                        TM,
                        dt.Rows[0],
                        propArray
                          );
                }
                else
                {
                    obj = ModuleHelp.GetEntity
                          (
                        TM,
                        dt.Rows[0]
                          );
                }
                TM = (T)obj;
            }
            else
            {
                TM = (T)ModuleHelp.GetEntity(TM);
            }
            return(TM);
        }
        /// <summary>
        /// 获取表所有相关数据
        /// </summary>
        /// <param name="tableName"></param>
        /// <returns></returns>
        public static IList <List <TableInfoModel> > GetTableInfo(List <string> tableNameList)
        {
            StringBuilder sb = new StringBuilder(tableNameList.Count * (sqlTableInfo.Length + 20));

            foreach (var item in tableNameList)
            {
                sb.Append(string.Format(sqlTableInfo, item));
            }

            DataSet dtTableInfo = dataTable.QuerySQL(sb.ToString());

            IList <List <TableInfoModel> > listThis = new List <List <TableInfoModel> >();

            PropertyInfo[] propInfo = typeof(TableInfoModel).GetProperties();

            foreach (DataTable item in dtTableInfo.Tables)
            {
                List <TableInfoModel> list = ModuleHelp.GetModelByDT <TableInfoModel>(item, propInfo);
                listThis.Add(list);
            }


            return(listThis);
        }
Exemple #6
0
 public List <T> GetModuleList(string where)
 {
     return(ModuleHelp.GetModelByDT <T>(GetList(where).Tables[0], propArray));
 }