int id = int.Parse((Request.QueryString["id"]).ToString());
        string connString = SystemSetting.Conn;
        SqlConnection conn = new SqlConnection(connString);
        SqlCommand cmd = new SqlCommand();
        SqlParameter[] sql ={ new SqlParameter("@id", id) };
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Connection = conn;
        cmd.CommandText = "selectImage";
        cmd.Parameters.AddRange(sql);
        conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        if (reader.Read() && reader!=null)
        {
            byte[] image = reader.GetSqlBytes(0).Buffer;
            Response.ContentType = reader["imgType"].ToString();
            Response.BinaryWrite(image);
            Response.Flush();
我在数据库中存入了多张图片,我想把他们读出来,结果读出来的多张图片显示都是一样的(都与第一张图片相同),向高手请教!

解决方案 »

  1.   

     你去看一下,你在执行数据库的时候,从数据库中读取出来的结果集是多少条记录啊。
     如果是多条,那么你在 下面这段代码中需要添加,多条记录时的遍历处理。。
       if (reader.Read() && reader!=null) 
            { 
                byte[] image = reader.GetSqlBytes(0).Buffer; 
                Response.ContentType = reader["imgType"].ToString(); 
                Response.BinaryWrite(image); 
                Response.Flush(); 
      自己去试一下吧!
      
      

  2.   

            if (reader.Read() && reader!=null) 
            { 
                byte[] image = reader.GetSqlBytes(0).Buffer; 
                Response.ContentType = reader["imgType"].ToString(); 
                Response.BinaryWrite(image); 
                Response.Flush(); 
    这个地方,每次Response.BinaryWrite的都是第一条记录,应该加个条件判断一下,写第几张图片。
      

  3.   

    while (reader.Read())
                {
                    //...
                }
      

  4.   

    我想知道的是怎么样用dataList控件中放上image控件怎么绑定ImageUrl的值让Image控件显示出不同的图片
      

  5.   

    做一个aspx用来显示图面 然后   <Img   src="drawimage.aspx?imgId=<%=DataBinder.Eval(Container.DataItem,"ImageId")%>">
    有人能看懂这段代码吗
      

  6.   

    做一个aspx用来显示图面 然后   <Img   src="drawimage.aspx?imgId=<%=DataBinder.Eval(Container.DataItem,"ImageId")%>">
    有人能看懂着段代码吗
      

  7.   

    做一个aspx用来显示图面 然后   <Img   src="drawimage.aspx?imgId=<%=DataBinder.Eval(Container.DataItem,"ImageId")%>">
      

  8.   

    你这个 <Img   src="drawimage.aspx?imgId= <%=DataBinder.Eval(Container.DataItem,"ImageId")%>">必须
    放到datalist或其它数据控件里
      

  9.   

    你这个  <Img   src="drawimage.aspx?imgId=  <%=DataBinder.Eval(Container.DataItem,"ImageId")%>">必须 
    放到datalist或其它数据控件里
    这个我知道
      

  10.   

    首先看一下,你请求图片的URL是否正确。如果正确,那你就单独测试,请求一个图片的时候,看是否返回了正确的图片,这样就知道问题出在哪里了。另外推荐你一个工具:http://www.svnhost.cn/Download/?k=httpwatch个人认为做web程序必备的工具,类似功能的也可以代替。
      

  11.   

    我想知道一下Container.DataItem是什么
      

  12.   

    <Img   src='drawimage.aspx?imgId= <%=DataBinder.Eval(Container.DataItem,"ImageId")%>'> 
    这样才对吧,你能把存储过程贴出来吗,不知道你是一次要一个还是一组,还有你没有关闭READ,可能这也是造成图片没有更新的原因
    我要接分呵呵