Example #1
0
        internal DMSession BuildSession(DbConntionType type = DbConntionType.WriteRead, string dbString = null)
        {
            DMSession session;
            string    connString     = ConnectionString;
            string    connStringRead = ConnectionStringRead;
            string    provider       = DbProviderName;

            if (!string.IsNullOrEmpty(dbString))
            {
                DMSessionArray dms = SessionArray.First(s => s.SessionKey == dbString);
                connString     = dms.ConnectionString;
                connStringRead = dms.ConnectionStringRead;
                provider       = dms.DbProviderName;
            }
            if (type == DbConntionType.WriteRead)
            {
                session = new DMSession(connString, provider);
            }
            else
            {
                if (string.IsNullOrEmpty(connStringRead))
                {
                    connStringRead = connString;
                }
                session = new DMSession(connStringRead, provider);
            }
            session.Timeout = Timeout;
            session.ShowSql = ShowSql;
            return(session);
        }
Example #2
0
        internal FluDataAdapter(DbConntionType type = DbConntionType.WriteRead, string dbString = null)
            : base()
        {
            DMSession session;

            if (HttpContext.Current != null)
            {
                session = DMHelper.Instance.GetSession(type, dbString);
            }
            else
            {
                session = new DMWinHelper().GetSession(type, dbString);
            }
            this.SelectCommand = session.Connection.CreateCommand();
            this.ShowSql       = session.ShowSql;
            //this.SelectCommand.CommandTimeout = session.Timeout;
            if (string.IsNullOrEmpty(dbString))
            {
                DbPro = DMHelper.Instance.ProviderEx;
            }
            else
            {
                var SList = DMHelper.Instance._sessionfactory.SessionArray.Where(a => a.SessionKey == dbString).First();
                DbPro = SList.ProviderEx;
            }
        }
Example #3
0
 /// <summary>
 /// 取得分页数据
 /// </summary>
 /// <param name="page"></param>
 /// <param name="type"></param>
 /// <param name="dbString">分库名</param>
 /// <returns></returns>
 public static DataTable GetPagingData(PagingInfo page, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
 {
     using (FluDataAdapter da = GetAdapter(type: type, dbString: dbString))
     {
         da.OpenConnection();
         DataTable dt = da.GetPagingData2(page);
         da.CloseConnection();
         return(dt);
     }
 }
Example #4
0
 internal DMSession GetSession(DbConntionType type = DbConntionType.WriteRead, string dbString = null)
 {
     if (type == DbConntionType.WriteRead)
     {
         if (_session == null)
         {
             _session = DMHelper.Instance._sessionfactory.BuildSession(type, dbString);
         }
         return(_session);
     }
     if (_readSession == null)
     {
         _readSession = DMHelper.Instance._sessionfactory.BuildSession(type, dbString);
     }
     return(_readSession);
 }
Example #5
0
        internal DMSession GetSession(DbConntionType type = DbConntionType.WriteRead, string dbString = null)
        {
            if (type == DbConntionType.WriteRead)
            {
                DMSession session = HttpContext.Current.Items[CurrentSessionKey + dbString] as DMSession;
                if (session == null)
                {
                    session = _sessionfactory.BuildSession(type, dbString);
                    HttpContext.Current.Items[CurrentSessionKey + dbString] = session;
                }
                return(session);
            }
            DMSession readSession = HttpContext.Current.Items[ReadCurrentSessionKey + dbString] as DMSession;

            if (readSession == null)
            {
                readSession = _sessionfactory.BuildSession(type, dbString);
                HttpContext.Current.Items[ReadCurrentSessionKey + dbString] = readSession;
            }
            return(readSession);
        }
Example #6
0
        /// <summary>
        /// 获取数据操作适配器,须执行dispose
        /// </summary>
        /// <param name="commandText"></param>
        /// <param name="parameters"></param>
        /// <param name="cmdType"></param>
        /// <param name="type"></param>
        /// <param name="dbString"></param>
        /// <returns></returns>
        public static FluDataAdapter GetAdapter3(string commandText = null, IList <IDbDataParameter> parameters = null, CommandType cmdType = CommandType.Text, DbConntionType type = DbConntionType.WriteRead, string dbString = null)
        {
            FluDataAdapter da = new FluDataAdapter(type, dbString);

            da.CommandText = commandText;
            da.CommandType = cmdType;
            if (parameters != null)
            {
                foreach (var item in parameters)
                {
                    da.AddParameter(item);
                }
            }
            if (da.ShowSql)
            {
                SetSqlShow(commandText, dbParameters: parameters);
            }
            return(da);
        }
Example #7
0
        /// <summary>
        /// 取得查询数据对象列表
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="tableName"></param>
        /// <param name="columns"></param>
        /// <param name="conditions"></param>
        /// <param name="orderby"></param>
        /// <param name="groupby"></param>
        /// <param name="type"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static IList <T> GetData <T>(string tableName, string columns, string conditions, string orderby, string groupby, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
        {
            DataTable dt = GetData(tableName, columns, conditions, orderby, groupby, type, dbString);

            return(Helper.GetObjects <T>(dt));
        }
Example #8
0
        /// <summary>
        /// 返回连接字符串
        /// </summary>
        /// <param name="type"></param>
        /// <param name="dbString"></param>
        /// <returns></returns>
        public static string GetConnString(DbConntionType type = DbConntionType.WriteRead, string dbString = null)
        {
            DMSession session = DMHelper.Instance.GetSession(type, dbString);

            return(session.ConnectionString);
        }
Example #9
0
        /// <summary>
        /// 获取数据操作适配器
        /// </summary>
        /// <param name="commandText"></param>
        /// <param name="parameters"></param>
        /// <param name="cmdType"></param>
        /// <param name="type"></param>
        /// <param name="dbString"></param>
        /// <returns></returns>
        public static FluDataAdapter GetAdapter2(string commandText = null, IDictionary <string, object> parameters = null, CommandType cmdType = CommandType.Text, DbConntionType type = DbConntionType.WriteRead, string dbString = null)
        {
            FluDataAdapter da = new FluDataAdapter(type, dbString);

            da.CommandText = commandText;
            da.CommandType = cmdType;
            if (parameters != null)
            {
                foreach (var item in parameters)
                {
                    da.AddParameter(item.Key, item.Value);
                }
            }
            if (da.ShowSql)
            {
                SetSqlShow(commandText, parameters: parameters);
            }
            return(da);
        }
Example #10
0
 /// <summary>
 /// 取得查询数据
 /// </summary>
 /// <param name="tableName"></param>
 /// <param name="columns"></param>
 /// <param name="conditions"></param>
 /// <param name="orderby"></param>
 /// <param name="groupby"></param>
 /// <param name="type"></param>
 /// <param name="dbString">分库名</param>
 /// <returns></returns>
 public static DataTable GetData(string tableName, string columns, string conditions, string orderby, string groupby, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
 {
     using (FluDataAdapter da = GetAdapter(type: type, dbString: dbString))
     {
         da.OpenConnection();
         DataTable dt = da.GetData2(tableName, columns, conditions, orderby, groupby);
         da.CloseConnection();
         return(dt);
     }
 }
Example #11
0
        /// <summary>
        /// 取得分页数据对象列表
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="page"></param>
        /// <param name="tableName"></param>
        /// <param name="fields"></param>
        /// <param name="condition"></param>
        /// <param name="sortfields"></param>
        /// <param name="groupfields"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="type"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static IList <T> GetPagingData <T>(PagingInfo page, string tableName, string fields, string condition = null, string sortfields = null, string groupfields = null, int pageIndex = 1, int pageSize = 10, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
        {
            DataTable dt = GetPagingData(page, tableName, fields, condition, sortfields, groupfields, pageIndex, pageSize, type, dbString);

            return(Helper.GetObjects <T>(dt));
        }
Example #12
0
        /// <summary>
        /// 取得分页数据对象列表
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="page"></param>
        /// <param name="type"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static IList <T> GetPagingData <T>(PagingInfo page, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
        {
            DataTable dt = GetPagingData(page, type, dbString);

            return(Helper.GetObjects <T>(dt));
        }
Example #13
0
 /// <summary>
 /// 返回DataTable
 /// </summary>
 /// <param name="commandText"></param>
 /// <param name="parameters">参数对象列表</param>
 /// <param name="cmdType"></param>
 /// <param name="type"></param>
 /// <param name="dbString">分库名</param>
 /// <returns></returns>
 public static DataTable Fill3(string commandText, IList <IDbDataParameter> parameters = null, CommandType cmdType = CommandType.Text, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
 {
     using (FluDataAdapter da = GetAdapter3(commandText, parameters, cmdType, type, dbString))
     {
         da.OpenConnection();
         DataTable dt = new DataTable();
         da.Fill(dt);
         da.CloseConnection();
         return(dt);
     }
 }
Example #14
0
        /// <summary>
        /// 获取数据操作适配器
        /// </summary>
        /// <param name="commandText"></param>
        /// <param name="cmdType"></param>
        /// <param name="paraName"></param>
        /// <param name="paraValue"></param>
        /// <param name="type"></param>
        /// <param name="dbString"></param>
        /// <returns></returns>
        public static FluDataAdapter GetAdapter(string commandText = null, CommandType cmdType = CommandType.Text, string[] paraName = null, object[] paraValue = null, DbConntionType type = DbConntionType.WriteRead, string dbString = null)
        {
            FluDataAdapter da = new FluDataAdapter(type, dbString);

            da.CommandText = commandText;
            da.CommandType = cmdType;
            da.ClearParameter();
            if (paraName != null && paraValue != null && paraName.Length == paraValue.Length)
            {
                for (int i = 0; i < paraName.Length; i++)
                {
                    da.AddParameter(paraName[i], paraValue[i]);
                }
            }
            if (da.ShowSql)
            {
                SetSqlShow(commandText, paraName, paraValue);
            }
            return(da);
        }
Example #15
0
        /// <summary>
        /// 返回DataReader,must using dispose
        /// </summary>
        /// <param name="commandText"></param>
        /// <param name="cmdType"></param>
        /// <param name="paraName"></param>
        /// <param name="paraValue"></param>
        /// <param name="type"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static IDataReader ExecuteReader(string commandText, CommandType cmdType = CommandType.Text, string[] paraName = null, object[] paraValue = null, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
        {
            FluDataAdapter da = GetAdapter(commandText, cmdType, paraName, paraValue, type, dbString);

            da.OpenConnection();
            IDataReader dr = da.SelectCommand.ExecuteReader(CommandBehavior.CloseConnection);

            return(dr);
        }
Example #16
0
        /// <summary>
        /// 返回查询结果中第一行第一列
        /// </summary>
        /// <param name="commandText"></param>
        /// <param name="parameters"></param>
        /// <param name="cmdType"></param>
        /// <param name="type"></param>
        /// <param name="adapter"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static object ExcuteScalar3(string commandText, IList <IDbDataParameter> parameters = null, CommandType cmdType = CommandType.Text, DbConntionType type = DbConntionType.OnlyRead, FluDataAdapter adapter = null, string dbString = null)
        {
            if (adapter == null)
            {
                using (FluDataAdapter da = GetAdapter3(commandText, parameters, cmdType, type, dbString))
                {
                    da.OpenConnection();
                    object obj = da.SelectCommand.ExecuteScalar();
                    da.CloseConnection();
                    return(obj);
                }
            }
            adapter.ClearParameter();
            adapter.CommandText = commandText;
            adapter.CommandType = cmdType;
            if (parameters != null)
            {
                foreach (var p in parameters)
                {
                    adapter.AddParameter(p);
                }
            }
            object result2 = adapter.SelectCommand.ExecuteScalar();

            return(result2);
        }
Example #17
0
        /// <summary>
        /// 返回查询结果中第一行第一列
        /// </summary>
        /// <param name="commandText"></param>
        /// <param name="cmdType"></param>
        /// <param name="paraName"></param>
        /// <param name="paraValue"></param>
        /// <param name="type"></param>
        /// <param name="adapter"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static object ExcuteScalar(string commandText, CommandType cmdType = CommandType.Text, string[] paraName = null, object[] paraValue = null, DbConntionType type = DbConntionType.OnlyRead, FluDataAdapter adapter = null, string dbString = null)
        {
            if (adapter == null)
            {
                using (FluDataAdapter da = GetAdapter(commandText, cmdType, paraName, paraValue, type, dbString))
                {
                    da.OpenConnection();
                    object obj = da.SelectCommand.ExecuteScalar();
                    da.CloseConnection();
                    return(obj);
                }
            }
            adapter.ClearParameter();
            adapter.CommandText = commandText;
            adapter.CommandType = cmdType;
            if (paraName != null && paraValue != null && paraName.Length == paraValue.Length)
            {
                for (int i = 0; i < paraName.Length; i++)
                {
                    adapter.AddParameter(paraName[i], paraValue[i]);
                }
            }
            object result2 = adapter.SelectCommand.ExecuteScalar();

            return(result2);
        }
Example #18
0
        /// <summary>
        /// 返回IList对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="commandText"></param>
        /// <param name="cmdType"></param>
        /// <param name="paraName"></param>
        /// <param name="paraValue"></param>
        /// <param name="type"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static IList <T> Fill <T>(string commandText, CommandType cmdType = CommandType.Text, string[] paraName = null, object[] paraValue = null, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
        {
            DataTable dt = Fill(commandText, cmdType, paraName, paraValue, type, dbString);

            return(Helper.GetObjects <T>(dt));
        }
Example #19
0
        /// <summary>
        /// 返回IList对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="commandText"></param>
        /// <param name="parameters"></param>
        /// <param name="cmdType"></param>
        /// <param name="type"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static IList <T> Fill2 <T>(string commandText, IDictionary <string, object> parameters = null, CommandType cmdType = CommandType.Text, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
        {
            DataTable dt = Fill2(commandText, parameters, cmdType, type, dbString);

            return(Helper.GetObjects <T>(dt));
        }
Example #20
0
        /// <summary>
        /// 取得分页数据
        /// </summary>
        /// <param name="page"></param>
        /// <param name="tableName"></param>
        /// <param name="fields"></param>
        /// <param name="condition"></param>
        /// <param name="sortfields"></param>
        /// <param name="groupfields"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="type"></param>
        /// <param name="dbString">分库名</param>
        /// <returns></returns>
        public static DataTable GetPagingData(PagingInfo page, string tableName, string fields, string condition = null, string sortfields = null, string groupfields = null, int pageIndex = 1, int pageSize = 10, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
        {
            page.TableName   = tableName;
            page.Fileds      = fields;
            page.Conditions  = condition;
            page.SortFields  = sortfields;
            page.GroupFields = groupfields;
            page.PageIndex   = pageIndex;
            page.PageSize    = pageSize;
            DataTable dt = GetPagingData(page, type, dbString);

            return(dt);
        }
Example #21
0
 /// <summary>
 /// 返回DataTable
 /// </summary>
 /// <param name="commandText"></param>
 /// <param name="cmdType"></param>
 /// <param name="paraName"></param>
 /// <param name="paraValue"></param>
 /// <param name="type"></param>
 /// <param name="dbString">分库名</param>
 /// <returns></returns>
 public static DataTable Fill(string commandText, CommandType cmdType = CommandType.Text, string[] paraName = null, object[] paraValue = null, DbConntionType type = DbConntionType.OnlyRead, string dbString = null)
 {
     using (FluDataAdapter da = GetAdapter(commandText, cmdType, paraName, paraValue, type, dbString))
     {
         da.OpenConnection();
         DataTable dt = new DataTable();
         da.Fill(dt);
         da.CloseConnection();
         return(dt);
     }
 }