Exemplo n.º 1
0
    /// <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);
        }
    }
Exemplo n.º 2
0
    /// <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));
    }