using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;/// <summary>
///创建时间:2008-8-4
/// 创 建 人:吕豪
/// 作 用:用于数据库的链接,
/// </summary>
public class DataBase
{
/// <summary>
/// 保护变量,数据库连接
/// </summary>
protected SqlConnection Connection;
/// <summary>
/// 保护变量,数据库链接串
/// </summary>
protected string ConnectionString;
/// <summary>
/// 构造函数
/// </summary>
/// <spram name=ConnectionString>数据库连接字符串</spram>
public DataBase()
{
ConnectionString = ConfigurationManager.AppSettings["SqlCoon"];
}
/// <summary>
/// 析构函数。释放非托管资源
/// </summary>
~DataBase()
{
try
{
if (Connection != null)
Connection.Close();
}
catch { } try
{
Dispose();
}
catch { }
}
/// <summary>
/// 保护方法,打开数据库连接
/// </summary>
protected void open()
{
if (Connection == null)
{
Connection = new SqlConnection(ConnectionString);
}
if (Connection.State.Equals(ConnectionState.Closed))
{
Connection.Open();
}
}
/// <summary>
/// 公有方法,关闭数据库连接
/// </summary>
public void Close()
{
if (Connection != null)
{
Connection.Close(); }
}
/// <summary>
/// 公有方法。释放资源
/// </summary>
public void Dispose()
{
//确保数据库被关闭
if (Connection != null)
{
Connection.Dispose();
Connection = null;
}
}
/// <summary>
/// 共有方法,获取数据,返回一个SqldataReader()
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>SqlDataReader</returns>
public SqlDataReader GetSaDataReader(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection); SqlDataReader reader = cmd.ExecuteReader();
return reader;
reader.Close();
Connection.Close();
}
/// <summary>
/// 共有方法,返回DataSet
/// </summary>
/// <param name="SqlString"></param>
/// <returns></returns>
public DataSet GetDataSet(string SqlString)
{
open();
SqlDataAdapter adapter = new SqlDataAdapter(SqlString, Connection);
DataSet dataset = new DataSet();
adapter.Fill(dataset); Close();
adapter.Dispose();
dataset.Dispose();
return dataset;
}
/// <summary>
/// 共有方法,执行增,删,改
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>true Or false</returns>
public bool ExecuteInfo(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection);
cmd.ExecuteNonQuery();
return true; }
/// <summary>
/// 执行统计信息
/// </summary>
/// <param name="SqlString"></param>
/// <returns></returns>
public int CountInfo(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection);
int i =Convert.ToInt32(cmd.ExecuteScalar());
return i;
}
}
该怎么解决!大家帮办忙!!
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;/// <summary>
///创建时间:2008-8-4
/// 创 建 人:吕豪
/// 作 用:用于数据库的链接,
/// </summary>
public class DataBase
{
/// <summary>
/// 保护变量,数据库连接
/// </summary>
protected SqlConnection Connection;
/// <summary>
/// 保护变量,数据库链接串
/// </summary>
protected string ConnectionString;
/// <summary>
/// 构造函数
/// </summary>
/// <spram name=ConnectionString>数据库连接字符串</spram>
public DataBase()
{
ConnectionString = ConfigurationManager.AppSettings["SqlCoon"];
}
/// <summary>
/// 析构函数。释放非托管资源
/// </summary>
~DataBase()
{
try
{
if (Connection != null)
Connection.Close();
}
catch { } try
{
Dispose();
}
catch { }
}
/// <summary>
/// 保护方法,打开数据库连接
/// </summary>
protected void open()
{
if (Connection == null)
{
Connection = new SqlConnection(ConnectionString);
}
if (Connection.State.Equals(ConnectionState.Closed))
{
Connection.Open();
}
}
/// <summary>
/// 公有方法,关闭数据库连接
/// </summary>
public void Close()
{
if (Connection != null)
{
Connection.Close(); }
}
/// <summary>
/// 公有方法。释放资源
/// </summary>
public void Dispose()
{
//确保数据库被关闭
if (Connection != null)
{
Connection.Dispose();
Connection = null;
}
}
/// <summary>
/// 共有方法,获取数据,返回一个SqldataReader()
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>SqlDataReader</returns>
public SqlDataReader GetSaDataReader(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection); SqlDataReader reader = cmd.ExecuteReader();
return reader;
reader.Close();
Connection.Close();
}
/// <summary>
/// 共有方法,返回DataSet
/// </summary>
/// <param name="SqlString"></param>
/// <returns></returns>
public DataSet GetDataSet(string SqlString)
{
open();
SqlDataAdapter adapter = new SqlDataAdapter(SqlString, Connection);
DataSet dataset = new DataSet();
adapter.Fill(dataset); Close();
adapter.Dispose();
dataset.Dispose();
return dataset;
}
/// <summary>
/// 共有方法,执行增,删,改
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>true Or false</returns>
public bool ExecuteInfo(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection);
cmd.ExecuteNonQuery();
return true; }
/// <summary>
/// 执行统计信息
/// </summary>
/// <param name="SqlString"></param>
/// <returns></returns>
public int CountInfo(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection);
int i =Convert.ToInt32(cmd.ExecuteScalar());
return i;
}
}
该怎么解决!大家帮办忙!!
解决方案 »
- 请问ADODB.stream问题
- 如何随机得到与给定值相近的3个整数,求不重复.
- Winfrom 图片存储
- 正则 去掉重复的链接地址
- js的奇怪问题,望各位协助解决
- 做了个小程序,用了水晶报表,在别的电脑不能运行,求助
- richtextbox插入控件后,当滚动条移动时,控件的位置不变
- 使惯了WebDataGrid却不会用WinDataGrid.....
- 实体对象怎么与数据库分离
- DataGrid绑定一个DataSet,DataSet的一个TABLE的一个COLUMN的值为1, 2, 3,要求DataGrid上显示"row1", "row2", "row3",有办法吗??
- 请教高手,文本框之间传递信息时,怎样连字体样式和内容一起传递过去啊?
- 怎样查找替换一串HTML中的某个标签
/// <summary>
/// 共有方法,获取数据,返回一个SqldataReader()
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>SqlDataReader</returns>
public SqlDataReader GetSaDataReader(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection); SqlDataReader reader = cmd.ExecuteReader();
return reader;
reader.Close();
Connection.Close();
}
/// 共有方法,获取数据,返回一个SqldataReader()
/// </summary>
/// <param name="SqlString">Sql语句</param>
/// <returns>SqlDataReader</returns>
public SqlDataReader GetSaDataReader(string SqlString)
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection); SqlDataReader reader = cmd.ExecuteReader();
return reader;
//reader.Close();这句注释掉
//Connection.Close();这句注释掉
}
在调用处关闭DataReader对象和Connection对象。
{
open();
SqlCommand cmd = new SqlCommand(SqlString, Connection); SqlDataReader reader = cmd.ExecuteReader();
return reader;
reader.Close();
Connection.Close();
}
你已经return 了所以红色的部分就不会执行了。
然后你又用相同的连接打开命令肯定会出错了。
DataReader是独占连接的,调用处调用结束关闭DataReader再重新打开