Example #1
0
        /// <summary>
        ///     更新一个对象数据到数据库中
        /// </summary>
        /// <typeparam name="T">类型</typeparam>
        /// <param name="sql">语句</param>
        /// <param name="bolIsProcedure">是否是存储过程</param>
        /// <param name="obj">数据对象</param>
        /// <returns>更新数量</returns>
        public int SqlExcuteUpdateOrInsertOrDeleteObject <T>(string sql, bool bolIsProcedure, T obj)
        {
            lock (_lockThis)
            {
                var objType = obj.GetType();

                var propertyArray = TypeOfCacheManager.GetInstance().GetTypeProperty(objType).Values;

                Command.CommandText = sql;
                Command.Parameters.Clear();

                Command.CommandType = bolIsProcedure ? CommandType.StoredProcedure : CommandType.Text;

                foreach (var props in propertyArray)
                {
                    var values = props.GetValue(obj, null);

                    if (values != null)
                    {
                        Command.Parameters.AddWithValue("@" + props.Name, values);
                    }
                }

                return(Command.ExecuteNonQuery());
            }
        }
Example #2
0
        public static TypeOfCacheManager GetInstance()
        {
            lock (Lockthis)
            {
                if (_my == null)
                {
                    _my = new TypeOfCacheManager();
                }
            }

            return(_my);
        }