读书人

请各位大侠帮帮忙呀!该如何解决

发布时间: 2012-02-22 19:36:55 作者: rapoo

请各位大侠帮帮忙呀!
ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭。

源错误:


行 82: SqlCommand myCommand = new SqlCommand(str,DBConnection.Connection());
行 83: ConOpen();
行 84: myCommand.ExecuteNonQuery();行 85:
行 86: ConClose();


源文件: f:\WebSite2\App_Code\AccessDBLay\DAEmployee.cs 行: 84

DAEmployee.cs 的以下代码:
/// <summary>
/// 增加一个数据记录
/// </summary>
/// <param name="employee"></param>
public void Add(BOEmployee employee)
{
string str = BuildAddString(employee);


SqlCommand myCommand = new SqlCommand(str,DBConnection.Connection());
ConOpen();
myCommand.ExecuteNonQuery();

ConClose();



}
//打开数据库连接
public void ConOpen()
{
(DBConnection.Connection()).Open();

}
//关闭数据库连接
public void ConClose()
{
(DBConnection.Connection()).Close();
}


以下是调用DBConnection的static connection方法返回sqlconnection

public class DBConnection
{
public DBConnection()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlConnection Connection()
{
SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString);
return myConnection;
}
}

[解决办法]


public void Add(BOEmployee employee)
{
SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString);

string str = BuildAddString(employee);


SqlCommand myCommand = new SqlCommand(str,myConnection );
myConnection.Open();
myCommand.ExecuteNonQuery();

myConnection.Close();

}

[解决办法]
DBConnection.Connection()
你测试一下,他好用不。应该就是它出的问题

读书人网 >asp.net

热点推荐