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); }
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; } }
/// <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); } }
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); }
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); }
/// <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); }
/// <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)); }
/// <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); }
/// <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); }
/// <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); } }
/// <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)); }
/// <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)); }
/// <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); } }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
/// <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)); }
/// <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)); }
/// <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); }
/// <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); } }