我写了一些代码用来显示商品信息 
<asp:DataList id="DataList1" runat="server" RepeatColumns="2" Width="240px" RepeatDirection="Horizontal" Height="155">
<ItemTemplate>
<TABLE style="HEIGHT: 155px" cellSpacing="0" cellPadding="0" width="240" border="0">
<TR>
<TD vAlign="top" width="90" height="92">
<A href='GoodsDetails.aspx?GoodsID=<%# DataBinder.Eval(Container.DataItem, "GoodsID") %>'>
//该处显示图像?????????
</A>
</TD>
<TD vAlign="top" width="144">
<A title=查看详细资料 href='GoodsDetails.aspx?GoodsID=<%# DataBinder.Eval(Container.DataItem, "GoodsID") %>'>
<%# DataBinder.Eval(Container.DataItem,"GoodsName")%>
</A>
<BR> <!--原价--> 原价:<del>&yen;<%# DataBinder.Eval(Container.DataItem,"OriginalPrice")%></del>
<br>
现价:&yen;<%# DataBinder.Eval(Container.DataItem,"SalePrice")%>
</TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:DataList>
请问怎样从数据库中取得,存成二进制的了,求代码

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=ECD9AE16-8FF0-4A1C-9B9F-5E8B641CB1B1http://dotnet.aspx.cc/ShowDetail.aspx?id=2A5DD7C6-A45A-48AB-A2E8-342A29F17506
      

  2.   

    写入数据库//上传
    if(myFile.ContentLength != 0)
    {
      try
      {
        System.Web.HttpPostedFile myFile = this.Request.Files[0];
    //        string tmpFileName = myFile.FileName;
    //        string myFileName = tmpFileName.Substring(tmpFileName.LastIndexOf("."));
    //        string myFileMimeType = myFile.ContentType();
    //        myFile.SaveAs(this.Server.MapPath("../" + myFileName));    //读取到数组里面
        System.IO.Stream mystream = myFile.InputStream;
        byte[] Buffer = new byte[myFile.ContentLength];
        mystream.Read(Buffer,0,myFile.ContentLength);    //打开数据库
        OracleConnection cn = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
        cn.Open();    //用参数方式写入数据库
        OracleCommand myComm = cn.CreateCommand();
        string sql = "insert into tmp(tmp_id,tmp_blob) values(tmp_seq.nextval,:tmp_blob)";
        myComm.CommandText = sql;
        myComm.Parameters.Add(":tmp_blob",OracleType.Blob,Buffer.Length).Value = Buffer;
        myComm.ExecuteNonQuery();
      }
      catch
      {
        //此处可加错误显示
      }
      finally
      {        
        cn.Close();
      }
    }
    在页面中,放一个Image控件,在后台指定它的链接地址如下:
    ----------------------------------------------------------------------
    //为方便,写一个固定ID号tmp_id=103
    this.Image1.ImageUrl = "showimg.aspx?tmp_id=103" ;
    下面是显示图片的页面showimg.aspx后台代码,该页面不需要放任何东西.
    --------------------------------------------------------------------
    //创建数据库连接
    OracleConnection myConnection = new OracleConnection(ConfigurationSettings.AppSettings["sysDSN"]);
    myConnection.Open();//打开数据库
    OracleCommand myCommand = myConnection.CreateCommand();
    string sql = "select tmp_blob from tmp where tmp_id = 103";
    myCommand.CommandText = sql;
    OracleDataReader myRead = myCommand.ExecuteReader();//开始读取
    myRead.Read();
    //这个方法更直接
    Byte[] Buffer = (Byte[])myRead[0];
    //OracleLob myLob = myRead.GetOracleLob(0);
    //长度是long,转为int32
    //int myLength = Convert.ToInt32(myLob.Length);  
    //Byte[] Buffer = new byte[myLength];      
    //myLob.Read(Buffer,0,myLength);//输出
    this.Response.Clear();
    //输出mime类型,根据上传的文件取到的mimetype,是什么我忘记了,自己写上,不过不写也没有关系.
    this.Response.ContentType = "";
    this.Response.BinaryWrite(Buffer);
    this.Response.End();
      

  3.   

    好像datalist中只能放<IMG src=???〉不能放<asp:Image>控件,怎么办???
      

  4.   

    #region 输出图片功能
    public void ResponseImages(string ID)
    {
    string Cmd_String="Select CtPicType, CtPicContent from Info_content Where CtID=@ID";
    SqlDataReader myDataReader;
    try
    {
    SqlParameter[] arParams = new SqlParameter[1];
    arParams[0] = new SqlParameter("@ID", ID);
    myDataReader = SqlHelper.ExecuteReader(Conn_String, CommandType.Text,Cmd_String,arParams);
    if(myDataReader.Read())
    {
    System.Web.HttpContext.Current.Response.Clear();
    System.Web.HttpContext.Current.Response.ContentType = myDataReader["CtPicType"].ToString();
    System.Web.HttpContext.Current.Response.BinaryWrite((byte[])myDataReader["CtPicContent"]);
    }
    }
    catch
    {
    //出错了.
    }
    finally
    {
    if(Conn_String.State==ConnectionState.Open)
    {
    Conn_String.Close();
    }
    //myDataReader.Close();
    }
    System.Web.HttpContext.Current.Response.End();
    }
    #endregion
      

  5.   

    好像datalist中只能放<IMG src=???〉不能放<asp:Image>控件,有这些代码有什么用呢?怎么办
      

  6.   

    谁说不能<asp:image  ? 能<img 就必然能<asp:image
      

  7.   

    http://sunnystar365.cnblogs.com/archive/2005/10/10/251545.html