一会好好的,一会,大概过了几十分钟就不行了,怎么回事,有时把w3wp.exe进程关掉后又可以,但有时就不行,到底怎么回事啊,疯了

解决方案 »

  1.   

    很有可能SqlDataReader 没有close
      

  2.   

    private static string GetConnectionString()
    {
       return ConfigurationSettings.AppSettings["connStr"];
    }public static bool ExecuteNonQuery(string sql,SqlParameter[] paras,object[] values)
    {
    using (SqlConnection myConn = new SqlConnection(GetConnectionString()))
    {

    myConn.Open(); SqlCommand myCmd = new SqlCommand(sql,myConn);
    myCmd.CommandType = CommandType.StoredProcedure; foreach( SqlParameter para in paras)
    {
    myCmd.Parameters.Add(para);
    }
    SetValues(paras,values);
    return (myCmd.ExecuteNonQuery() == 1);

    }
    }
    很简单的一句,没什么特别的啊,不知为什么。
      

  3.   

    仅仅是你的程序这种情况么?是不是可以排除SQL服务器本身的问题?我这里有台服务器就是时而连不上,时而连得上,不是程序问题
      

  4.   

    在return后加上myConn.Close();试试
      

  5.   

    tengfly(腾飞) 
    return后加上myConn.Close();不需要Using自己会关闭
      

  6.   

    DB服务器应该是没问题的,因为现在已有一个项目在运行着,而且稳定。
    using的作用就是可以自动释放,所 以不用再手动指定。
    都不知什么原因了。
    我用的是2003系统
      

  7.   

    程序中都是这么操作数据库的吗?没有使用DataReader获取数据而没有关闭数据库连接的情况吗?
      

  8.   

    在return后加上myConn.Close();试试
    return后还能加东西吗?
      

  9.   

    连不上数据库难道没有异常抛出来吗?
    打开连接后要及时的close, 这是习惯, 不能你用了using()就不手工释放了
      

  10.   

    conn出了using语句就不起作用了,会自动释放的,不同意楼上的说法
      

  11.   

    谢谢大家。
    TO  webdiyer(陕北吴旗娃)
    我的update ,insert都是用nonquery也就是上面那个,
    而取数据都是用这个
    public static DataSet ExecuteDataSet(string sql,string table,SqlParameter[] paras,string[] values)
    {
    using (SqlConnection myConn = new SqlConnection(GetConnectionString()))
    {
    myConn.Open(); SqlDataAdapter adapter = new SqlDataAdapter(sql,myConn);
    adapter.SelectCommand.CommandType = CommandType.StoredProcedure;
    foreach( SqlParameter para in paras)
    {
    adapter.SelectCommand.Parameters.Add(para);
    }
    SetValues(paras,values);
    DataSet ds = new DataSet();
    adapter.Fill(ds,table);
    return ds;

    }

    没用sqldatareader来取。
    刚才还可以,吃完饭回来,就报这个错误了,好像就是隔了一段时间。
    提示SQL SERVER不存在,再刷新它就提示我操作数据库的那语句未引用到对象了,很明显是连不上数据库,语句是正确的。
    web.config里的sessionState节没改动过,为默认
      

  12.   

    提示SQL SERVER不存在?
    =======================
    你把连接字符串保存在Session里边了?
      

  13.   

    有时又报这个错
    常规网络错误。请检查您的网络文档。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 常规网络错误。请检查您的网络文档。源错误: 
    行 82: 
    行 83:  DataSet ds = new DataSet();
    行 84:  adapter.Fill(ds,table);
    行 85:  return ds;
    行 86: 
     
      

  14.   

    看起来象是你的SQL Server的问题,试试连接到另一个SQL Server服务器看是否有同样的问题。