Exemple #1
0
        public static List <T> QueryMultiBy <T>(IConnection pConn, string pCondition) where T : EntityBase, new()
        {
            List <T>    dataObjectList = new List <T>();
            IDataReader reader         = null;
            SQLBuilder  sql            = new TSQLBuilder();

            try
            {
                sql.BuildQuery(SQLSyntax.Select, (new T()).Fields);
                sql.BuildQuery(SQLSyntax.From, (new T()).Mapping);
                sql.BuildUpdate(SQLSyntax.Where, pCondition);

                reader = pConn.ExecuteReader(sql.Query);
                while (reader.Read())
                {
                    T dataObject = new T();
                    ORMapping(dataObject, reader);
                    dataObjectList.Add(dataObject);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if ((reader != null) || (!reader.IsClosed))
                {
                    reader.Close();
                }
            }
            return(dataObjectList);
        }
Exemple #2
0
        public static string QueryBy <T>(IConnection pConn, string pField, string pCondition) where T : EntityBase, new()
        {
            T           dataObject = new T();
            IDataReader reader     = null;
            SQLBuilder  sql        = new TSQLBuilder();
            string      value      = string.Empty;

            try
            {
                sql.BuildQuery(SQLSyntax.Select, pField);
                sql.BuildQuery(SQLSyntax.From, (new T()).Mapping);
                sql.BuildUpdate(SQLSyntax.Where, pCondition);

                reader = pConn.ExecuteReader(sql.Query);
                if (reader.Read())
                {
                    value = reader[0].ToString().Trim();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if ((reader != null) || (!reader.IsClosed))
                {
                    reader.Close();
                }
            }
            return(value);
        }
Exemple #3
0
        public static T QueryByKey <T>(IConnection conn, string keyValue) where T : EntityBase, new()
        {
            T           dataObject = new T();
            IDataReader reader     = null;
            SQLBuilder  sql        = new TSQLBuilder();

            try
            {
                sql.BuildQuery(SQLSyntax.Select, (new T()).Fields);
                sql.BuildQuery(SQLSyntax.From, (new T()).Mapping);
                sql.BuildUpdate(SQLSyntax.Where, (new T()).GetKeyCondition(keyValue));

                reader = conn.ExecuteReader(sql.Query);
                if (reader.Read())
                {
                    ORMapping(dataObject, reader);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if ((reader != null) || (!reader.IsClosed))
                {
                    reader.Close();
                }
            }
            return(dataObject);
        }
Exemple #4
0
        public static T QueryByKey <T>(IConnection conn, ICriteria <T> criteria) where T : IDataObject, new()
        {
            T           dataObject = new T();
            IDataReader reader     = null;
            SQLBuilder  sql        = new TSQLBuilder();

            try
            {
                sql.BuildQuery(SQLSyntax.Select, (new T()).Fields);
                sql.BuildQuery(SQLSyntax.From, (new T()).Mapping);
                Dictionary <SQLSyntax, string> sqlSyntaxDictionary = TranslateCriteria <T>(criteria);
                foreach (var item in sqlSyntaxDictionary)
                {
                    sql.BuildQuery(item.Key, item.Value);
                }

                reader = conn.ExecuteReader(sql.Query);
                if (reader.Read())
                {
                    ORMapping(dataObject, reader);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if ((reader != null) || (!reader.IsClosed))
                {
                    reader.Close();
                }
            }
            return(dataObject);
        }
Exemple #5
0
        public static List <string> Distinct <T>(IConnection conn, string fieldName, ICriteria <T> criteria) where T : IDataObject, new()
        {
            List <string> distinctList = new List <string>();
            IDataReader   reader       = null;
            SQLBuilder    sql          = new TSQLBuilder();

            try
            {
                sql.BuildQuery(SQLSyntax.Select, string.Format(" DISTINCT {0} ", fieldName));
                sql.BuildQuery(SQLSyntax.From, (new T()).Mapping);
                Dictionary <SQLSyntax, string> sqlSyntaxDictionary = TranslateCriteria <T>(criteria);
                foreach (var item in sqlSyntaxDictionary)
                {
                    sql.BuildQuery(item.Key, item.Value);
                }

                reader = conn.ExecuteReader(sql.Query);
                while (reader.Read())
                {
                    distinctList.Add(reader.GetValue(reader.GetOrdinal(fieldName)).ToString().Trim());
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if ((reader != null) || (!reader.IsClosed))
                {
                    reader.Close();
                }
            }
            return(distinctList);
        }
Exemple #6
0
        public static int Count <T>(IConnection conn, ICriteria <T> criteria) where T : IDataObject, new()
        {
            int        count = 0;
            SQLBuilder sql   = new TSQLBuilder();

            try
            {
                sql.BuildQuery(SQLSyntax.Select, " COUNT(*) ");
                sql.BuildQuery(SQLSyntax.From, (new T()).Mapping);
                Dictionary <SQLSyntax, string> sqlSyntaxDictionary = TranslateCriteria <T>(criteria);
                foreach (var item in sqlSyntaxDictionary)
                {
                    sql.BuildQuery(item.Key, item.Value);
                }

                count = Convert.ToInt32(conn.ExecuteScalar(sql.Query));
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
            }
            return(count);
        }
Exemple #7
0
        public static List <T> QueryTop <T>(IConnection conn, ICriteria <T> criteria, int topCount = 1) where T : IDataObject, new()
        {
            List <T>    dataObjectList = new List <T>();
            IDataReader reader         = null;
            SQLBuilder  sql            = new TSQLBuilder();

            try
            {
                sql.BuildQuery(SQLSyntax.Top, topCount.ToString(), (new T()).Fields);
                sql.BuildQuery(SQLSyntax.From, (new T()).Mapping);

                Dictionary <SQLSyntax, string> sqlSyntaxDictionary = TranslateCriteria <T>(criteria);
                foreach (var item in sqlSyntaxDictionary)
                {
                    sql.BuildQuery(item.Key, item.Value);
                }

                reader = conn.ExecuteReader(sql.Query);
                while (reader.Read())
                {
                    T dataObject = new T();
                    ORMapping(dataObject, reader);
                    dataObjectList.Add(dataObject);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if ((reader != null) || (!reader.IsClosed))
                {
                    reader.Close();
                }
            }

            return(dataObjectList);
        }