我用的是Oracle9i+ADOQuery
请问怎样对数据库中的Blob子段进行数据存取呢

解决方案 »

  1.   

    var
      fs: TFileStream;
      bs: TBlobStream;// 写入
    with ADOQuery1 do begin
      Append;
      fs := TFileStream.Create('image1.jpg', fmOpenRead);
      bs := TBlobStream(CreateBlobStream(FieldByName('Pic'), bmWrite));
      bs.CopyFrom(fs, 0);
      bs.Free;
      fs.Free;
      Post;
    end;
    // 读取
    with ADOQuery1 do begin
      fs := TFileStream.Create('image1.jpg', fmOpenWrite or fmCreate);
      bs := TBlobStream(CreateBlobStream(FieldByName('Pic'), bmRead));
      fs.CopyFrom(bs, 0);
      bs.Free;
      fs.Free;
    end;
      

  2.   

    有表TestPhoto(Oracle9i中),其中字段Photo为Blob类型,我用ADOQuery执行"Select Photo from TestPhoto"为什么出错?