刚才我又去看了一下,发现还是“池连接达到最大”的问题。
奇怪的是,页面上图片无法显示,但是它的标题是正常的。同样都是读取数据库的东西,
为何图片不行,标题行?
关于图片显示,我专门有一个文件readimg.aspx,可是它里面唯一的一个conn.Open()后面
也跟着conn.Close(),那是什么让池连接达到最大的呢?

解决方案 »

  1.   

    不要同时保持多个长连接
    图片怎样读取的,内存有没有及时释放
    有 new 的地方,后面应该有内存释放语句
    有没有 try catch finally 保护,保证异常处理
      

  2.   

    仔细检查代码,肯定有连接没有释放,看看你加的 conn.Close() 的位置对不对,有没有走不到的时候。
      

  3.   

    我还是把代码贴一些出来,大家帮我看看吧。谢了显示图片和标题的页面上:
    void Page_Load(object src,EventArgs e)
      {
               DateTime dtOld = DateTime.Now.AddDays(-30);
               string strOld = dtOld.ToShortDateString();
    string sqlvalue="select top 1 * from imagenews where uptime>'" + strOld + "' order by newid()";
    SqlConnection myConnection = new SqlConnection((String) ConfigurationSettings.AppSettings["picsysdb"]);
    SqlDataAdapter myCommand = new SqlDataAdapter(sqlvalue, myConnection);
               myConnection.Open();
               DataSet ds = new DataSet();
               myCommand.Fill(ds);
      MyRepeater.DataSource = ds;
               MyRepeater.DataBind();
               myConnection.Close();
      }专门读取图片的readimg.aspx的cs代码:
    using System;
    using System.Data;
    using System.Data.SqlClient;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    namespace ReadImage {
    public class MainDisplay : System.Web.UI.Page
    {
    public void Page_Load(System.Object sender, System.EventArgs e)
     {
        int ImgID = Convert.ToInt32(Request.QueryString["ImgID"]);  //ImgID为图片ID 
        SqlConnection Con = new SqlConnection("Data Source=lcj;Initial Catalog=picsystem;User ID=sa;Pwd=goal;");
        String SqlCmd = "SELECT * FROM imagenews WHERE ImageID = @ImageID";
        SqlCommand CmdObj = new SqlCommand(SqlCmd, Con);
        CmdObj.Parameters.Add("@ImageID", SqlDbType.Int).Value = ImgID;
        Con.Open();
        SqlDataReader SqlReader = CmdObj.ExecuteReader();
        SqlReader.Read();     
        //输出图象文件二进制数制
        Response.OutputStream.Write((byte[])SqlReader["ImageData"], 0, (int)SqlReader["ImageSize"]);  
        Response.End();
        Con.Close();
     }
    }
    }
      

  4.   

    showjun(俊俊),释放内存的代码是什么样的?
      

  5.   

    我在代码里加了一些Dispose(),但是还是会出现“池连接达到最大或已满”
    这样的错误,找不出问题在哪里上门的两段代码有问题吗?各位高手高高手
    帮我看看吧。在线等待谢谢了!