/// <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); }
/// <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(); } }