Beispiel #1
0
        private int GetCountFromDictionary <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic)
        {
            DbDataReader dr      = null;
            int          tLst    = 0;
            var          logStep = 0;

            try
            {
                //如果为空sql可以,则根据类型和传入参数自动构造select语句,同时where条件为传入参数
                var sqlTxt = sqlKey == CommonSqlKey.Null ? SqlConstructor.GetSelectSqlByParmDic <T>(parmDic) : CommSqlText.Instance[sqlKey];
                logStep++;
                var sqlParameters = sqlKey == CommonSqlKey.Null ? null : parmDic; // SqlConstructor.MakeParms(parmDic, CommSqlText.SqlParms[sqlKey]);
                sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, sqlParameters);
                logStep++;
                sqlParameters = sqlKey == CommonSqlKey.Null ? null : SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]);
                logStep++;
                tLst = DbHelper.ExecuteScalar(sqlTxt, sqlParameters) == null
              ? 0 : int.Parse(DbHelper.ExecuteScalar(sqlTxt, sqlParameters).ToString());
            }
            catch (MySqlException ee)
            {
                Logger.LogInfo(String.Format("GetFromDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR);
                throw ee;
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                    dr.Dispose();
                }
            }
            return(tLst);
        }
Beispiel #2
0
        private List <T> GetFromDictionary <T>(CommonSqlKey sqlKey, IDictionary <string, object> parmDic)
        {
            DbConnection dbConn  = null;
            DbDataReader dr      = null;
            var          tLst    = new List <T>();
            var          logStep = 0;

            try
            {
                //如果为空sql可以,则根据类型和传入参数自动构造select语句,同时where条件为传入参数
                var sqlTxt = sqlKey == CommonSqlKey.Null ? SqlConstructor.GetSelectSqlByParmDic <T>(parmDic) : CommSqlText.Instance[sqlKey];
                logStep++;
                var sqlParameters = sqlKey == CommonSqlKey.Null ? null : parmDic; // SqlConstructor.MakeParms(parmDic, CommSqlText.SqlParms[sqlKey]);
                sqlTxt = SqlConstructor.FilterSQLWithInsteadValue(sqlTxt, sqlParameters);
                logStep++;
                sqlParameters = sqlKey == CommonSqlKey.Null ? null : SqlConstructor.FilterParmsWithList(sqlParameters, CommSqlText.SqlParms[sqlKey]);
                logStep++;

                dr      = DbHelper.ExecuteReader(sqlTxt, sqlParameters, ref dbConn);
                logStep = 100;
                if (dr == null)
                {
                    return(tLst);
                }
                var hasCount = dr.Read();
                while (hasCount)
                {
                    logStep += 10;
                    var t = MakeMapToObject <T>(dr);
                    if (t != null)
                    {
                        tLst.Add(t);
                    }
                    logStep += 1;
                    hasCount = dr.Read();
                }
            }
            catch (MySqlException ee)
            {
                //Logger.LogInfo(String.Format("GetFromDictionary ERROR STEP:{0}, EXCEPTION:{1}", logStep, ee.Message), 0, LogType.ERROR);
                throw ee;
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                    dr.Dispose();
                }
                if (dbConn != null)
                {
                    dbConn.Close();
                    dbConn.Dispose();
                }
            }
            return(tLst);
        }