日期:2014-05-19  浏览次数:20804 次

求一性能较好的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