日期:2014-05-18  浏览次数:20438 次

请各位大侠帮帮忙呀!
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()
你测试一下,他好用不。应该就是它出的问题