我这个连接数据库的类有问题,大家看一下?

gdoucwx gdoucwx 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
下面这个类怎么写才好。
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>
/// DataBase 的摘要说明
/// </summary>
public class DataBase
{
private static DataBase _instance;
private static SqlConnection con;

//私有化构造器
private DataBase()
{
}

//获取DataBase的实例
public static DataBase GetInstance()
{
if (_instance == null)
{
_instance = new DataBase();
}
return _instance;
}

//创建数据库连接,返回一个SqlConnection
public static SqlConnection ReturnConn()
{
if (con == null)
{
string strConn = ConfigurationManager.ConnectionStrings["GDOUSCIMISConn"].ConnectionString;
con = new SqlConnection(strConn);
}
if (con.State.Equals(ConnectionState.Closed))
{
con.Open();
}
return con;
}

//根据参数,调用重载方法,执行存储过程,返回一个SqlCommand
public static SqlCommand CreateCmd(string procName, SqlParameter[] prams)
{
SqlConnection Conn = ReturnConn();
SqlCommand Cmd = new SqlCommand();
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.Connection = Conn;
Cmd.CommandText = procName;
if (prams != null)
{
foreach (SqlParameter parameter in prams)
{
if (parameter != null)
{
Cmd.Parameters.Add(parameter);
}
}
}
return Cmd;
}

就这一个类,整个网站就会用到同一个con连接,这样写就会提示sqlDataReader已关闭
如果我不加
 if (con == null)
那就会提示连接池超过了最大连接数这个问题。
因此连接数据库的类要怎么写才好呢?
...全文
评论 12
收藏 已收藏
分享
返回顶部
gdoucwx
.NET社区 62,271 成员 668,968 内容