예제 #1
0
        public T findDataById(string idName, long id)
        {
            T table = new T();

            try
            {
                string tableName = table.GetType().Name;

                string sql = string.Format("select * from {0} where {1} ={2};"
                                           , tableName
                                           , idName
                                           , id);

                MySqlCommand cmd = new MySqlCommand(sql, conn);

                conn.Open();

                MySqlDataReader reader = cmd.ExecuteReader();

                DataTable dataTable = new DataTable();
                dataTable.Load(reader);

                //get account data
                List <T> tList = ConvDataTableToCustom <T> .FillModel(dataTable);

                if (tList == null)
                {
                    return(default(T));
                }
                else
                {
                    if (tList.Count > 0)
                    {
                        table = tList[0];
                    }
                }
                return(table);
            }
            catch (Exception e)
            {
                CommLog.loger.Error(e.Message);
                return(default(T));
            }
            finally
            {
                conn.Close();
            }
        }
예제 #2
0
        public List <T> findDataByKeyWord(string columnName, string keyWord)
        {
            try
            {
                T        table = new T();
                List <T> tList = new List <T>();

                string tableName = table.GetType().Name;

                string sql = string.Format("select * from {0} where {1} like '%{2}%';"
                                           , tableName
                                           , columnName
                                           , keyWord);

                MySqlCommand cmd = new MySqlCommand(sql, conn);

                conn.Open();


                //执行ExecuteReader()返回一个MySqlDataReader对象
                MySqlDataReader reader = cmd.ExecuteReader();

                DataTable dataTable = new DataTable();
                dataTable.Load(reader);

                //get account data
                tList = ConvDataTableToCustom <T> .FillModel(dataTable);


                return(tList);
            }
            catch (Exception e)
            {
                CommLog.loger.Error(e.Message);
                return(null);
            }
            finally
            {
                conn.Close();
            }
        }