示例#1
0
        ///// <summary>
        ///// 根据某个实体属性删除数据



        ///// 该实体必须包含指定的属性名称



        ///// 而且实体属性值不能为空



        ///// </summary>
        ///// <param name="entity">实体属性公共接口</param>
        ///// <param name="propertyName">实体属性名称</param>
        ///// <returns></returns>
        //public int Delete(IEntity entity, string propertyName)
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(entity,out param,propertyName);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        ///// <summary>
        ///// 根据实体多个属性删除数据



        ///// 实体中必须包含该属性



        ///// 传递参数数组不能为空



        ///// </summary>
        ///// <param name="entity">实体属性公共接口</param>
        ///// <param name="propertyNames">实体属性名称数组</param>
        ///// <returns></returns>
        //public int Delete(IEntity entity, string[] propertyNames)
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(entity, out param, propertyNames);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        ///// <summary>
        ///// 根据泛型类删除数据



        ///// 该方法是根据实体的主键删除的
        ///// </summary>
        ///// <typeparam name="T">泛型类</typeparam>
        ///// <param name="t">泛型实例</param>
        ///// <returns></returns>
        //public int Delete<T>(T t) where T : class
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(typeof(T), t, out param);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        ///// <summary>
        ///// 根据泛型类的某个属性删除数据



        ///// 泛型类中必须存在该属性,而且
        ///// 属性值不能为空



        ///// </summary>
        ///// <typeparam name="T">泛型类型</typeparam>
        ///// <param name="t">泛型类实例</param>
        ///// <param name="propertyName">属性名称</param>
        ///// <returns></returns>
        //public int Delete<T>(T t, string propertyName) where T : class
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(typeof(T), t, out param,propertyName);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        ///// <summary>
        ///// 根据泛型类型的多个属性删除数据



        ///// 泛型类型中必须存在这些属性,传



        ///// 递参数的时候不能为null
        ///// </summary>
        ///// <typeparam name="T">泛型类</typeparam>
        ///// <param name="t">泛型实例</param>
        ///// <param name="propertyNames">属性名称数组</param>
        ///// <returns></returns>
        //public int Delete<T>(T t, string[] propertyNames) where T : class
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(typeof(T), t, out param, propertyNames);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        ///// <summary>
        ///// 根据实体的类型删除数据。



        ///// value 中的类型由type确定
        ///// </summary>
        ///// <param name="type">实体类型</param>
        ///// <param name="value">实体对象实例</param>
        ///// <returns></returns>
        //public int Delete(Type type, object value)
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(type,value,out param);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        ///// <summary>
        ///// 根据实体的类型的某个属性删除数据。



        ///// value 中的类型由type确定
        ///// propertyName 属性名称必须在value
        ///// 对象中存在



        ///// </summary>
        ///// <param name="type">实体类型</param>
        ///// <param name="value">实体对象实例</param>
        ///// <param name="propertyName">属性名称</param>
        ///// <returns></returns>
        //public int Delete(Type type, object value, string propertyName)
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(type, value, out param,propertyName);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        ///// <summary>
        ///// 根据实体的类型的某个属性删除数据。



        ///// value 中的类型由type确定
        ///// propertyName 属性名称必须在value
        ///// 对象中存在



        ///// </summary>
        ///// <param name="type">实体类型</param>
        ///// <param name="value">实体对象实例</param>
        ///// <param name="propertyNames">属性名称数组</param>
        ///// <returns></returns>
        //public int Delete(Type type, object value, string[] propertyNames)
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(type, value, out param, propertyNames);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        /// <summary>
        /// 根据主键查询实体对象
        /// </summary>
        /// <typeparam name="T">泛型类型</typeparam>
        /// <param name="pkPropertyValue">主键值</param>
        /// <returns></returns>
        public T GetEntity <T>(object pkPropertyValue) where T : class, new()
        {
            IDataParameter[] param = null;
            string           sql   = Factory.CreateSingleSql(typeof(T), pkPropertyValue, out param);

            return(BaseHelper.ConvertToEntity <T>(BaseHelper.ExecuteDataReader(sql, param)));
        }
示例#2
0
        ///// <summary>
        ///// 根据实体类的类型和主键值查询实体对象


        ///// 使用 type 确定实体,主键确定数据的唯


        ///// 一性


        ///// </summary>
        ///// <param name="type">实体类型</param>
        ///// <param name="pkPropertyValue">主键值</param>
        ///// <returns></returns>
        //public object GetEntity(Type type, object pkPropertyValue)
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateSingleSql(type,pkPropertyValue,out param);

        //        return SqlHelperComm.ConvertToEntity(type, BaseHelper.ExecuteDataReader(sql, param as OracleParameter[]));

        //}

        /// <summary>
        /// 根据表名和条件获取实体对象


        /// </summary>
        /// <typeparam name="T">泛型类型</typeparam>
        /// <param name="strTableName">表名</param>
        /// <param name="component">条件</param>
        /// <returns>实体</returns>
        public T GetEntity <T>(string strTableName, ConditionComponent component) where T : class, new()
        {
            IDataParameter[] param = null;
            string           sql   = string.Format("select * from {0} where rownum<2", strTableName);

            if (component != null && component.sbComponent.Length > 0)
            {
                sql += " and " + component.sbComponent.ToString();
            }

            return(BaseHelper.ConvertToEntity <T>(BaseHelper.ExecuteDataReader(sql, param as OracleParameter[])));
        }
示例#3
0
        /// <summary>
        /// 根据表名和条件获取实体对象



        /// </summary>
        /// <typeparam name="T">泛型类型</typeparam>
        /// <param name="strTableName">表名</param>
        /// <param name="component">条件</param>
        /// <returns>实体</returns>
        public T GetEntity <T>(string pkPropertyValue, ConditionComponent component) where T : class, new()
        {
            IDataParameter[] param = null;
            //string sql = string.Format("select top 1 * from {0} ", strTableName);

            string strWhere = Factory.CreateSingleSql(typeof(T), pkPropertyValue, out param);

            if (component != null && component.sbComponent.Length > 0)
            {
                strWhere += (pkPropertyValue == null && strWhere.IndexOf(" where ") < 0 ? " where " : " and ") + component.sbComponent.ToString();
            }

            if (strOrderString != null && strOrderString.Trim() != "")
            {
                strWhere       = strWhere + " order by " + strOrderString;
                strOrderString = "";
            }
            return(BaseHelper.ConvertToEntity <T>(BaseHelper.ExecuteDataReader(strWhere, param)));
        }