求一性能较好的c#数据库操作类-
前一段时间在网上收集关于数据库操作类的,总觉得性能不怎么样,而微软的那个SQLHelper   有点让人摸不着头脑,也没有找着专门的使用文档. 
 请哪位高手做过相关的研究没?望赐教
------解决方案--------------------还是SQLHelper~~好好学习一下吧~~
------解决方案--------------------里面的英文注释就是使用方法~~
------解决方案--------------------namespace Utilities 
 {   
 	///  <summary>   
 	/// DbAccess类,即进行数据库访问时需要调用的类  
 	///  </summary>   
 	public class DbaseBS 
 	{ 
 		//取出数据库连接字符串 
 		public static readonly string conStr = ConfigurationSettings.AppSettings[ "ConnectionString "];		  		 
 		///  <summary>  
 		/// 得到数据库连接对象 
 		///  </summary>  
 		///  <returns> 数据库连接对象 </returns>  
 		public static SqlConnection GetConObject() 
 		{ 
 			return new SqlConnection(conStr); 
 		}   
 		///  <summary>  
 		/// 执行操作数据库的存储过程 
 		///  </summary>  
 		///  <param name= "procName "> 存储过程名称 </param> 	 
 		///  <returns> 存储过程执行后所影响的行数 </returns>  
 		public static int ExecuteNonQuery(string procName)  
 		{ 
 			SqlCommand cmd = new SqlCommand();   
 			using (SqlConnection con = GetConObject())  
 			{ 
 				CreateCommand(cmd, con, null, procName,null); 
 				int val = cmd.ExecuteNonQuery(); 
 				cmd.Parameters.Clear(); 
 				cmd.Dispose(); 
 				return val; 
 			} 
 		}	   
 		///  <summary>  
 		/// 执行操作数据库的存储过程 
 		///  </summary>  
 		///  <param name= "procName "> 存储过程名称 </param>  
 		///  <param name= "cmdParms "> 存储过程所使用的参数 </param>  
 		///  <returns> 存储过程执行后所影响的行数 </returns>  
 		public static int ExecuteNonQuery(string procName, SqlParameter[] cmdParms)  
 		{ 
 			SqlCommand cmd = new SqlCommand();   
 			using (SqlConnection con = GetConObject())  
 			{ 
 				CreateCommand(cmd, con, null, procName, cmdParms); 
 				int val = cmd.ExecuteNonQuery(); 
 				cmd.Parameters.Clear(); 
 				cmd.Dispose(); 
 				return val; 
 			} 
 		}	   
 		///  <summary>  
 		/// 执行操作数据库的存储过程(事务控制) 
 		///  </summary>  
 		///  <param name= "trans "> 数据库连接所关联的事务对象 </param>  
 		///  <param name= "procName "> 存储过程名称 </param>  
 		///  <param name= "cmdParms "> 存储过程所使用的参数 </param>  
 		///  <returns> 存储过程执行后所影响的行数 </returns>  
 		public static int ExecuteNonQuery(SqlTransaction trans, string procName, SqlParameter[] cmdParms)  
 		{ 
 			SqlCommand cmd = new SqlCommand(); 
 			CreateCommand(cmd, trans.Connection, trans, procName, cmdParms); 
 			int val = cmd.ExecuteNonQuery(); 
 			cmd.Parameters.Clear(); 
 			cmd.Dispose(); 
 			return val; 
 		}   
 		///  <summary>  
 		/// 执行读数据集操作,以DataReader的形式返回 
 		///  </summary>  
 		///  <param name= "procName "> 存储过程名称 </param>  
 		///  <param name= "cmdParms "> 存储过程所使用的参数 </param>  
 		///  <returns> DataReader对象 </returns>  
 		public static SqlDataReader ExecuteReader(string procName, SqlParameter[] cmdParms)  
 		{ 
 			SqlCommand cmd = new SqlCommand(); 
 			SqlConnection con = GetConObject();   
 			try  
 			{ 
 				CreateCommand(cmd, con, null, procName, cmdParms); 
 				SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
 				cmd.Parameters.Clear(); 
 				return dr; 
 			} 
 			catch(Exception ex) 
 			{ 
 				cmd.Dispose(); 
 				Clo