本人想做一个显示Oracle中图片的界面,但是今天上网找了一天也没有发现比较详细的介绍,都提到要用TTable和TDatabase,但是我配不对TTable,总是报"general error ORA:90036 缺失表达式"的错,哪位高手能给指点下啊
最好能有个简单的示例,讲解下怎么完成读取图片的,谢了。

解决方案 »

  1.   

    blob格式的文件需要用个API函数来操纵,具体的你搜索一下。
      

  2.   

    如果你装了Oracle客户端的话就直接用ADO控件的Oracle Provider for OLE DB就可以连接数据库了。不要用Microsoft OLE DB Provider for Oracle不然就会报不技术Blob格式的数据。
    var mem:Tstream;
    jpeg:TJpegimage;
    begin
        jpeg:=TJpegimage.Create;
        mem:=adoquery1.CreateBlobStream(adoquery1.FieldByName('pic'),bmRead);
        mem.Position:=0;
        if mem.Size>0 then begin
        begin
          jpeg.LoadFromStream(mem);
          image.Picture.Assign(jpeg);
        end;
    end;如果没有安装客户端的话就要用第三方控件ODAC连接。读取方法和上面一样。
      

  3.   

    var   
      pjpg:tjpegimage;   
      pic:TMemoryStream;   
      begin   
      pjpg:=tjpegimage.Create;   
      pic:=TMemoryStream.Create;   
      TBlobField(dataset.FieldByName('Img')).savetoStream(pic);   
      pic.positon:=0;   
      pjpeg.LoadFromStream(pic);   
      image.graphi.bmp.assign(pjpeg);   
      end;   
      

  4.   


    我试过用adoquery,可是里面的sql应该怎么写啊?
    blob字段不能直接select啊
      

  5.   

    这个dataset怎么设置?没用过这个组件...见笑了...
      

  6.   


    现在碰上个新的问题,显示图片时弹错
    ‘Non-blob column in table required to perform operation’
    给我讲下怎么解决好吗?