如题,
 表是pic,字段是id(varchar2)、photo(longraw),在网页中显示,请给段代码。

解决方案 »

  1.   

    主要代码
    MemoryStream  buf=new  MemoryStream((byte[])reader[0]);  //reader是datareader,是你那个存图片的字段
    Image  image=Image.FromStream(buf,true);  
    pictureBox1.Image=image;  
      

  2.   

    web的直接Response.BinaryWrite((byte[])reader[0])
    就出来了.不过你当前页面就是一张图片了
    img src='img.aspx'
    img.aspx是生成图片的页面
      

  3.   


    能给出个完整的在gridview里显示的代码吗?
      

  4.   

    http://tech.ddvip.com/2008-10/122371094676974.html
    看这个吧..和我说的原理是一样的.你只要把取图片的部分改成oracle的就行了.
      

  5.   

    添加ImageHandler.ashx
    public class ImageHandler : IHttpHandler
    {
      public void ProcessRequest(HttpContext context)
      {
        string imageid = context.Request.QueryString["ImID"];
        OracleConnection connection =
           new OracleConnection("连接串");
        connection.Open();
        OracleCommand command = new OracleCommand(
          "select Image from Image where ImageID=" + imageid,
           connection);
        OracleDataReader dr = command.ExecuteReader();
        dr.Read();
        context.Response.BinaryWrite((Byte[])dr[0]);
        connection.Close();
        context.Response.End();
      }
      public bool IsReusable
      {
        get{return false;}
      }
    }绑定Gridview控件<asp:GridView Width="500px" ID="gvImages" runat="server"
            AutoGenerateColumns="False" >
      <Columns>
        <asp:BoundField HeaderText = "Image Name"
                 DataField="imagename" />
        <asp:TemplateField HeaderText="Image">
         <ItemTemplate>
          <asp:Image ID="Image1" runat="server"
          ImageUrl='<%# "ImageHandler.ashx?ImID="+ Eval("ImageID")
                %>'/>
         </ItemTemplate>
      </asp:TemplateField>
      </Columns>
    </asp:GridView>OracleConnection connection = new OracleConnection("连接串");
    OracleCommand command = new OracleCommand("SELECT imagename,ImageID
    from [Image]", connection);
    SqlDataAdapter ada = new SqlDataAdapter(command);   
    DataTable dt = new DataTable();
    ada.Fill(dt);
    gvImages.DataSource = dt;
    gvImages.DataBind();
    http://tech.ddvip.com/2008-10/122371094676974.html 
      

  6.   

    上边的ImageHandler.ashx完全可以用aspx来代替
    只要修改几处即可
    aspx.cs的page_load方法中:
    string imageid = Request.QueryString["ImID"];
        OracleConnection connection =
           new OracleConnection("连接串");
        connection.Open();
        OracleCommand command = new OracleCommand(
          "select Image from Image where ImageID=" + imageid,
           connection);
        OracleDataReader dr = command.ExecuteReader();
        dr.Read();
        Response.BinaryWrite((Byte[])dr[0]);
        connection.Close();
        Response.End();
    <asp:GridView Width="500px" ID="gvImages" runat="server"
            AutoGenerateColumns="False" >
      <Columns>
        <asp:BoundField HeaderText = "Image Name"
                 DataField="imagename" />
        <asp:TemplateField HeaderText="Image">
         <ItemTemplate>
          <asp:Image ID="Image1" runat="server"
          ImageUrl='<%# "xxx.aspx?ImID="+ Eval("ImageID")
                %>'/>
         </ItemTemplate>
      </asp:TemplateField>
      </Columns>
    </asp:GridView>