分太少,给个思路。不能直接绑定,用模板<img scr=XXX.aspx>,类似于图片连接,在XXX.aspx中设置网页类型,在将流写到网页中。
  你能回答这个问题再告诉你详细答案:long raw 是二进制数据,BLOB也是二进制数据,但OleDbCommand提示不支持对Oracle二进制字段的查询(我的问题和你一样,也是保存图片),查询语句中不包括图片字段,command执行就不出错。OracleConntection用过没有,好象也有问题,数据库是8.05及8i。

解决方案 »

  1.   

    页面上放一个img
    <img src='ImageView.aspx?PKID=13' width="180" height="240">
    对应ImageView.aspx中的代码
    ImageView.aspx.aspx.cs中代码
    strPKID=Request["PKID"];
    intPKID=Int32.Parse(Request["BasicImagePKID"]);
    objDataSet=(new BasicSystem()).R_GetAllBasicImagesInfoByPKId(intPKID);
    Response.ContentType="image/jpeg";
    Response.BinaryWrite((byte[])objDataSet.Tables[0].DefaultView[0].Row["ImageData"]);
    Response.End();
      

  2.   

    读取字段的代码你改成oracle的就行了
      

  3.   

    private void ReadImage( System.Web.UI.WebControls.Image img,byte[] barrData)
    {
      if (barrData.Length > 0)
      {  
      try
      {
         string sFileName = "hello+ GetExtName(barrData);
        SaveImageToFile("c:\\Inetpub\\wwwRoot\\jywebapp\\temp\\"+sFileName,barrData);
        img.ImageUrl = "http://192.168.10.27/jywebapp/temp/" + sFileName;
      }
      catch
      {
      }
    }
    else
    {
    img.ImageUrl = "";
    }
    }
    private void SaveImageToFile(string FilePath,byte[] Image)
    {

    try
    {
      FileStream fs = new FileStream(@FilePath,FileMode.OpenOrCreate,FileAccess.Write);
    fs.Write(Image,0,Image.Length);
    fs.Close();
    }
    catch
    {
    }

    }private string GetExtName(byte[] Image)
    {
    string sExtName = "";
    if (Image.Length <= 11)
    return "";
    switch (Image[0])
    {
    case 0x42: if (Image[1] == 0x4d)sExtName = ".bmp"; break;
    case 0x47: if ((Image[1] == 0x49) && (Image[2] == 0x46)) sExtName = ".gif";break;
    case 0xff: if ((Image[1] == 0xd8) sExtName = ".jpg";break;
    default:sExtName = "";break;
    }
    return sExtName; } private void btnSend_Click(object sender, System.EventArgs e)
    {
    FileStream fs = new FileStream(@File1.Value, FileMode.OpenOrCreate, FileAccess.Read);
    byte[] barrData = new byte[fs.Length];
    fs.Read(barrData, 0, System.Convert.ToInt32(fs.Length));
    fs.Close(); }
    }
      

  4.   

    先把数据库中的数据放到数组中(byte[])object