借鉴网上写了一段从库中读取图片字节流,写到页面的代码,请大家帮忙看看有没有问题,有没有需要优化的地方。
谢了!            string SchoolID = Request.QueryString.Get("SchoolID") != null ? Request.QueryString.Get("SchoolID").ToString() : "0";
            SqlConnection cn = new SqlConnection(tblBase.GetConnectionString());
            SqlCommand cm = new SqlCommand("select SchoolID,SchoolLogo from dbo.tblSchoolLogos where SchoolID=" + SchoolID, cn);
            cn.Open();
            SqlDataReader dr = cm.ExecuteReader();
            if (dr.Read())
            {
                Response.BinaryWrite((byte[])dr["SchoolLogo"]);
            }
            Response.End();            dr.Close();
            cm.Clone();
            cn.Close(); 

解决方案 »

  1.   

    System.Data.SqlTypes.SqlBinary sb = dr.GetSqlBinary(2);
    /或byte[] imageData = (byte[])dr[2];
    MemoryStream ms = new MemoryStream(sb.Value);//在内存中操作图片数据
    Bitmap bmp = new Bitmap(Bitmap.FromStream(ms));
    this.pictureBox1.Image = bmp;
    dr.Close();直接显示到pictureBox1里面。Bs的一样显示image.url=
      

  2.   

    是web form,显示在页面上,不是win form
      

  3.   


     SqlCommand cm = new SqlCommand("select SchoolID,SchoolLogo from dbo.tblSchoolLogos where SchoolID=" + SchoolID, cn);不要用拼接字符串了~
      

  4.   

    这个我明白,现在重点不是SQL的问题我发现运行一段时间,sql server会出现异常,所以想知道用这个方法频繁读取图片有没有问题。
    是不是哪个地方没有释放 
      

  5.   

    http://blog.csdn.net/china_jeffery/article/details/8285654