asp.net网站有时会出现运行时错误 有时正常 没看到是什么错误 不知道 是服务器的问题还是我程序本身的问题啊 通常出现这种情况是怎么回事啊 因为 我不掌管服务器 所以 看到错误很难 有什么 通常状况吗

解决方案 »

  1.   

    我的网站 有时在本机会出现连接池连接超时 我的代码public class ty
    {
        db o = new db();
        
           
    public ty()
    {
    //
    //TODO: 在此处添加构造函数逻辑
    //
    }
        public DataSet gv(string sql)//连接数据库 绑定 控件
        {
            try
            {
                SqlConnection conn = new SqlConnection(o.con);
                conn.Open();
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                return ds;
                conn.Close();
                conn.Dispose();
            }
            catch {
                Console.Write("绑定控件代码异常");
            }
            
        }   
        public SqlCommand sql(string sql1)//执行sql语句
        {
            try
            {
                SqlConnection conn = new SqlConnection(o.con);
                conn.Open();
                SqlCommand smd = new SqlCommand(sql1, conn);
                return smd;
                conn.Close();
                conn.Dispose();
            }
            catch {
                Console.Write("执行sql语句代码异常");
            }
        }
    }
    每次 如果使用到sqldatareader时会这样   SqlDataReader sdr = smd.ExecuteReader(CommandBehavior.CloseConnection);用完 在sdr.Close();这里会有什么问题吗 
      

  2.   

    超时网络没问题的话,一般是你的程序有问题。
    要么是计算方法的问题,要么是查询写的有问题 太耗时。SqlConnection 和 SqlCommand 建议写成 using 的方法。
    你这样写中间发生错误,连接是不会被关闭的。类似这样:        public static int ExecuteSQL(string SQLString, params SqlParameter[] cmdParms)
            {
                using (SqlConnection conn = new SqlConnection(ConnStr))
                {
                    if (conn.State == ConnectionState.Closed) { conn.Open();                 using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = SQLString;
                        PrepareCommand(cmd, cmdParms);
                        int i = cmd.ExecuteNonQuery();
                        return i;
                    }
                }
            }
      

  3.   

    SqlDataReader sdr = smd.ExecuteReader(CommandBehavior.CloseConnection);用完 在sdr.Close();这里会有什么问题吗 ---------------------------------------------------------------------------------
    SqlDataReader 在数据量不是很大的时候建议不要使用,这个东西在数据量大的时候效率很好,
    但是数据量少的时候反而不太好。