Exemplo n.º 1
0
        /// <summary>
        /// 执行Sql语句或存储过程返回一个对象
        /// </summary>
        /// <typeparam name="T">泛型</typeparam>
        /// <param name="commandText">存储过程或Sql语句</param>
        /// <param name="commdType">CommandType</param>
        /// <param name="oraParamsCollection">键值对的参数列表</param>
        /// <returns></returns>
        public T ExecuteAsObject <T>(string commandText, CommandType commdType, List <OracleParameter> oraParamsCollection)
        {
            OracleConnection oraConnection = new OracleConnection(this.ConnectionString);

            try
            {
                OracleDataReader oracleReader;

                OracleCommand oracleCommand = oraConnection.CreateCommand();
                oracleCommand.CommandText = commandText;
                oracleCommand.CommandType = commdType;
                //Loop for Parameters
                foreach (var current in oraParamsCollection)
                {
                    oracleCommand.Parameters.Add(current);
                }
                //End of for loop
                if (oraConnection.State != ConnectionState.Open)
                {
                    oraConnection.Open();
                }
                oracleReader = oracleCommand.ExecuteReader(CommandBehavior.CloseConnection);
                ArrayList arrColl = DataSourceConvertHelper.FillCollection(oracleReader, typeof(T));
                oraConnection.Close();
                if (oracleReader != null)
                {
                    oracleReader.Close();
                }
                if (arrColl != null && arrColl.Count > 0)
                {
                    return((T)arrColl[0]);
                }
                else
                {
                    return(default(T));
                }
            }
            catch (Exception e)
            {
                logHandler.Error(MethodBase.GetCurrentMethod().Name + "Call ExecuteAsObject<T> Fail:" + e.Message);
                throw e;
            }
            finally
            {
                oraConnection.Close();
            }
        }
        public DataTable SXJ_Process(DataTable dt)
        {
            DataTable resultDt = new DataTable();
            List <SXJ_CELLNOEntity> cellList = dataProviderService.Get_C_PICK_CONFIG_T();
            List <SXJ_WMSEntity>    wmsList  = DataSourceConvertHelper.DataTableToListCollection <SXJ_WMSEntity>(dt);

            if (wmsList != null && wmsList.Count > 0)
            {
                wmsList.Select(x =>
                {
                    SXJ_Process_Select(x, cellList);
                    return(x);
                }).ToList();
                resultDt = DataSourceConvertHelper.ListToDataTable <SXJ_WMSEntity>(wmsList);
            }
            return(resultDt);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 执行Sql语句或存储过程反应一个对象列表
        /// </summary>
        /// <typeparam name="T">泛型</typeparam>
        /// <param name="commandText">存储过程或Sql语句</param>
        /// <param name="commdType">CommandType</param>
        /// <param name="oraParamsCollection">键值对的参数列表</param>
        /// <returns>返回对象列表.</returns>
        public List <T> ExecuteAsList <T>(string commandText, CommandType commdType, List <OracleParameter> oraParamsCollection)
        {
            OracleConnection oraConnection = new OracleConnection(this.ConnectionString);

            try
            {
                OracleDataReader oracleReader;
                OracleCommand    oracleCommand = oraConnection.CreateCommand();
                oracleCommand.CommandText = commandText;
                oracleCommand.CommandType = commdType;
                //Loop for Paramets
                foreach (var current in oraParamsCollection)
                {
                    oracleCommand.Parameters.Add(current);
                }
                //End of for loop
                if (oraConnection.State != ConnectionState.Open)
                {
                    oraConnection.Open();
                }
                oracleReader = oracleCommand.ExecuteReader(CommandBehavior.CloseConnection); //datareader automatically closes the SQL connection
                List <T> mList = new List <T>();
                mList = DataSourceConvertHelper.FillCollection <T>(oracleReader);
                if (oracleReader != null)
                {
                    oracleReader.Close();
                }
                oraConnection.Close();
                return(mList);
            }

            catch (Exception e)
            {
                logHandler.Error(MethodBase.GetCurrentMethod().Name + "Call ExecuteAsList<T> Fail:" + e.Message);
                throw e;
            }
            finally
            {
                oraConnection.Close();
            }
        }