/// <summary> /// 读取Session数据 /// </summary> /// <param name="sessionid"></param> /// <param name="key"></param> /// <returns></returns> public static Object GetSessionValue(String sessionid, String key, Type type) { ClearSessionValue(); String sid = TextHelper.CheckSQL(sessionid); String _key = TextHelper.CheckSQL(key); DataTable dt = db.ExecuteDataTable(String.Format( "SELECT session_value FROM [T_session] WHERE sessionid ='{0}' AND session_key = '{1}'", sid, _key)); if (dt != null && dt.Rows.Count > 0) { db.ExecuteCommand(String.Format( "UPDATE [T_session] SET session_time = '{1}' WHERE sessionid ='{0}'", sid, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); if (dt.Rows[0][0] == DBNull.Value) { return(null); } else { if (type == typeof(DataTable)) { String arrs = Convert.ToString(dt.Rows[0][0]); return(ConvertHelper.StringToObject(arrs, type)); } else { return(dt.Rows[0][0]); } } } else { return(null); } }
/// <summary> /// 设置Session数据 /// </summary> /// <param name="sessionid"></param> /// <param name="key"></param> /// <param name="value"></param> /// <returns></returns> public static Boolean SetSessionValue(String sessionid, String key, Object value) { String sid = TextHelper.CheckSQL(sessionid); String _key = TextHelper.CheckSQL(key); String num = (String)db.ExecuteScalar(String.Format( "SELECT COUNT(id) FROM [T_session] WHERE sessionid ='{0}' AND session_key = '{1}'", sid, _key)); ExecuteObject obj = new ExecuteObject(); obj.tableName = "T_session"; if (num == "0") { obj.cells.Add("sessionid", sessionid); obj.cells.Add("session_key", key); obj.cells.Add("pub_date", DateTime.Now); obj.cmdtype = CmdType.INSERT; } else { obj.terms.Add("sessionid", sessionid); obj.terms.Add("session_key", key); obj.cmdtype = CmdType.UPDATE; } if (value is DataTable) { DataTable dt = ((DataTable)value); dt.TableName = key; obj.cells.Add("session_value", ConvertHelper.ObjectToString(dt)); } else { obj.cells.Add("session_value", value); } if (value == null) { obj.cmdtype = CmdType.DELETE; obj.cells.Clear(); } return(db.ExecuteCommand(obj)); }