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

数据库打开和 关闭问题。
我的数据库是这样写的:
  public static OleDbConnection con;
  public static string connectionstring = ConfigurationManager.ConnectionStrings["cons"].ConnectionString;
 public void close()
  {
  if(con.State==ConnectionState.Open)
  {
  con.Close();
  }
  }
  public OleDbConnection open()
  {
  con = new OleDbConnection(connectionstring);
  if(con.State==ConnectionState.Closed)
  {
  con.Open();
  }
  return con;
  }


页面调用

  public void ge (string []wo)
  {
  lj.open();
  OleDbCommand cm = new OleDbCommand("update gexinxi set DiZhi='" + wo[0] + "',WangMing='" + wo[1] + "',Name='" + wo[2] + "',Age='" + wo[3] + "',Xb='" + wo[4] + "',Csd='" + wo[5] + "',Xl='" + wo[6] + "',Sg='" + wo[7] + "',Js='" + wo[8] + "',Hy='" + wo[9] + "',Z='" + wo[10] + "'", con);
  cm.ExecuteNonQuery();
  lj.close();

  }


报错为:ExecuteNonQuery 要求已打开且可用的连接。连接的当前状态为已关闭


怎么回事啊?我的数据已经打开了阿

------解决方案--------------------
能说具体点吗
------解决方案--------------------
if(con.State==ConnectionState.Closed) 

con.Open(); 

---------
把判断去了
直接打开试试
con.Open();

实在不行,断点调试下,看看你其中的值是否是正常的

------解决方案--------------------
public OleDbConnection open() 

con = new OleDbConnection(connectionstring); 
if(con.State==ConnectionState.Closed) 

con.Open(); 

return con; 


你这个地方就没有必要去判断是不是关闭....