一个数据库链接的访问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异步插入订单的方式
如下:
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异步插入订单的方式