相关疑难解决方法(0)

ExecuteReader需要一个开放且可用的连接.连接的当前状态为"正在连接"

当尝试通过ASP.NET在线连接到MSSQL数据库时,当两个或更多人同时连接时,我将得到以下信息:

ExecuteReader需要一个开放且可用的连接.连接的当前状态为"正在连接".

该站点在我的localhost服务器上正常工作.

这是粗略的代码.

public Promotion retrievePromotion()
{
    int promotionID = 0;
    string promotionTitle = "";
    string promotionUrl = "";
    Promotion promotion = null;
    SqlOpenConnection();
    SqlCommand sql = SqlCommandConnection();

    sql.CommandText = "SELECT TOP 1 PromotionID, PromotionTitle, PromotionURL FROM Promotion";

    SqlDataReader dr = sql.ExecuteReader();
    while (dr.Read())
    {
        promotionID = DB2int(dr["PromotionID"]);
        promotionTitle = DB2string(dr["PromotionTitle"]);
        promotionUrl = DB2string(dr["PromotionURL"]);
        promotion = new Promotion(promotionID, promotionTitle, promotionUrl);
    }
    dr.Dispose();
    sql.Dispose();
    CloseConnection();
    return promotion;
}
Run Code Online (Sandbox Code Playgroud)

我可能知道可能出了什么问题,我该如何解决?

编辑:不要忘记,我的连接字符串和连接都是静态的.我相信这就是原因.请指教.

public static string conString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
public static SqlConnection conn …
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server ado.net database-connection

106
推荐指数
1
解决办法
14万
查看次数

标签 统计

.net ×1

ado.net ×1

c# ×1

database-connection ×1

sql-server ×1