一个数据库链接的访问SQL SERVER的基类,小弟我作的网站,服务器提示用户过多,垮了,奉献自己用的基类

求一个一个数据库链接的访问SQL SERVER的基类,我作的网站,服务器提示用户过多,垮了,奉献自己用的基类
如下:

using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;

namespace ClassDb
{
/// <summary>
/// Admin_ClassDb 的摘要说明。
/// </summary>
public class Admin_ClassDb
{
//public Admin_ClassDb()
//{
//
// TODO: 在此处添加构造函数逻辑
//
//}
  public string Purview;
public string[] getdrclass;

  static public SqlConnection Sqlconn;

  /// <summary>
  /// 打开数据库连接
  /// </summary>
  public void Open()
  {
  if (Sqlconn.o
  //从web.config中取得数据库连接字符串
  string SqlConnectionStr = System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
  //创建数据库连接对象
  Sqlconn = new SqlConnection(SqlConnectionStr);
  //创建DataAdapter对像

  }

  /// <summary>
  /// 关闭数据库连接
  /// </summary>
  public void Close( )
  {
  ///判断连接是否已经创建
  if (Sqlconn != null)
  {
  ///判断连接的状态是否打开
  if (Sqlconn.State == ConnectionState.Open)
  {
  Sqlconn.Close();
  }
  }
  }

public DataTable GetTables(string sql) //返回ds.Tables["defaulttable"]
{

//从web.config中取得数据库连接字符串
string SqlConnectionStr=System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
//创建数据库连接对象
Sqlconn=new SqlConnection(SqlConnectionStr);
//创建DataAdapter对像
SqlDataAdapter da=new SqlDataAdapter(sql,Sqlconn);
//创建数据集
DataSet ds=new DataSet();
//填充数据集
da.Fill(ds,"defaulttable");

  Sqlconn.Close();

return ds.Tables["defaulttable"];

}

  public DataSet GetDs(string sql) //返回d 
  {

  //从web.config中取得数据库连接字符串
  string SqlConnectionStr = System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
  //创建数据库连接对象
  Sqlconn = new SqlConnection(SqlConnectionStr);
  //创建DataAdapter对像
  SqlDataAdapter da = new SqlDataAdapter(sql, Sqlconn);
  //创建数据集
  DataSet ds = new DataSet();
  //填充数据集
  da.Fill(ds, "defaulttable");

  Sqlconn.Close();

  return ds;

  }


public SqlDataAdapter Getda(string sql) //返回ds
{

//从web.config中取得数据库连接字符串
string SqlConnectionStr=System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
//创建数据库连接对象
Sqlconn=new SqlConnection(SqlConnectionStr);
//创建DataAdapter对像
SqlDataAdapter da=new SqlDataAdapter(sql,Sqlconn);
//创建数据集

  Sqlconn.Close();

return da;

}

  public SqlDataReader GetDataReader(string sql) //返回ds
  {

  //从web.config中取得数据库连接字符串
  string SqlConnectionStr = System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
  //创建数据库连接对象
  Sqlconn = new SqlConnection(SqlConnectionStr);
  Sqlconn.Open();
  //创建Command对像
  SqlCommand Sqlcomm = new SqlCommand(sql, Sqlconn);
  SqlDataReader sdr = Sqlcomm.ExecuteReader( );

   

  return sdr;

  }

public int GetNonResult(string sql) //返回ExecuteNonQuery()
{

//从web.config中取得数据库连接字符串
string SqlConnectionStr=System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
//创建数据库连接对象
Sqlconn=new SqlConnection(SqlConnectionStr);
//创建Command对像
SqlCommand Sqlcomm=new SqlCommand(sql,Sqlconn);
//执行命命令
Sqlconn.Open();

int i=Sqlcomm.ExecuteNonQuery();
Sqlconn.Close();
   
return i;

}

public int GetCount(string sql) //返回ExecuteScalar()
{

//从web.config中取得数据库连接字符串
string SqlConnectionStr=System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
//创建数据库连接对象
Sqlconn=new SqlConnection(SqlConnectionStr);
//创建Command对像
SqlCommand Sqlcomm=new SqlCommand(sql,Sqlconn);
//执行命命令
Sqlconn.Open();
int i=Convert.ToInt32(Sqlcomm.ExecuteScalar());
Sqlconn.Close();

return i;

}

public string GetdrPurview(string sql) //返回ExecuteScalar()
{

//从web.config中取得数据库连接字符串
string SqlConnectionStr=System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
//创建数据库连接对象
Sqlconn=new SqlConnection(SqlConnectionStr);
//创建Command对像
SqlCommand Sqlcomm=new SqlCommand(sql,Sqlconn);
//执行命令
Sqlconn.Open();
SqlDataReader dr=Sqlcomm.ExecuteReader();
if(dr.Read())
{
Purview=dr["Purview"].ToString();
}
dr.Close();
Sqlconn.Close();

return Purview;

}



public string[] GetdrClass(string sql) //返回ExecuteScalar()
{

//从web.config中取得数据库连接字符串
string SqlConnectionStr=System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
//创建数据库连接对象
Sqlconn=new SqlConnection(SqlConnectionStr);
//创建Command对像
SqlCommand Sqlcomm=new SqlCommand(sql,Sqlconn);
//执行命命令
Sqlconn.Open();
SqlDataReader dr=Sqlcomm.ExecuteReader();
if(dr.Read())
{
getdrclass=new string[3];
getdrclass[0]=dr[0].ToString();
getdrclass[1]=dr[1].ToString();
getdrclass[2]=dr[2].ToString();

}
dr.Close();
Sqlconn.Close();

return getdrclass;

}

  public string GetdrStr(string sql) //返回ExecuteScalar()
  {
  string get = null;

  //从web.config中取得数据库连接字符串
  string SqlConnectionStr = System.Configuration.ConfigurationSettings.AppSettings["SqlConnectionStr"];
  //创建数据库连接对象
  Sqlconn = new SqlConnection(SqlConnectionStr);
  //创建Command对像
  SqlCommand Sqlcomm = new SqlCommand(sql, Sqlconn);
  //执行命命令
  Sqlconn.Open();
  SqlDataReader dr = Sqlcomm.ExecuteReader();
  if (dr.Read())
  {

  get = dr[0].ToString();
   

  }
  dr.Close();
  Sqlconn.Close();

  return get ;

  }

}
}


------解决方案--------------------
static public SqlConnection Sqlconn;
------解决方案--------------------
Great!
------解决方案--------------------
还可以继续扩展 比如调用带参的存储过程 也可以写成通用的方法
------解决方案--------------------
楼主去找一下petshop 里面的SqlHelper.cs应该可以滞满足你的需求.
------解决方案--------------------
去微软的网站下载一个Enterise Library 4.0。
同时给你发一个。
------解决方案--------------------
你用sqlhelper不久得了
------解决方案--------------------
看一下PetShop4.0异步插入订单的方式