如题!!

解决方案 »

  1.   

    数据库是Oracle的,大侠能否提示一下对特定文件如(Word)用TblobField的SaveFileTo方法存文件要注意什么地方?
      

  2.   

    这里是利用TStream的子类TMemoryStream向Microsoft Access数据库中存储图像的。下面的这段代码是
    在按了“保存”按钮之后所触发的事件处理程序:
    procedure TForm1.Button1Click(Sender: TObject);
    var 
    MyJPEG : TJPEGImage;
    MS: TMemoryStream;
    begin
    MyJPEG := TJPEGImage.Create;
     try
        with MyJPEG do
        begin
          Assign(Image.Picture.Graphic);
          MS:=TMemoryStream.create;
          SaveToStream(MS);
          MS.Position:=0;
                    Table1.Edit;
                     TBlobField(Table1.FieldbyName('Image')).LoadFromStream(MS);
                     Table1.Post;
                     messagebox(getactivewindow(),'图像保存完毕!','保存',mb_ok);          
        end;
      finally
        MyJPEG.Free;
      end;
    end;
    在这段代码里TStream的子类TMemoryStream利用内存流起到了将BMP格式转化为JPEG格式的中间桥梁的作用。
    下面的这段代码是在按了“查看图像”按钮之后所触发的事件处理程序:
    procedure TForm1.Button1Click(Sender: TObject);
    var tempstream:TStringStream;
       tempjpeg:TJPEGImage; 
    begin
       try
            tempstream:=TStringStream.Create(' ');     
            TBlobField(Query1.FieldByName('Image')).SaveToStream(tempstream);            
            tempstream.Position:=0;
            tempjpeg:=TJPEGImage.Create;
            tempjpeg.LoadFromStream(tempstream);
            DBImage1.Picture.Bitmap.Assign(tempjpeg);
      finally
            tempstream.Free;
            tempjpeg.Free;
      end;
    end;
    另外,极度讨厌你的名字,什么丰臣,是不是与丰臣秀吉有什么关系
      

  3.   

    xzhifei,谢谢你的参与。不过名称只是个代号,并不需要说明什么。谢谢你提供的代码,但我想在Oracle下不能顺利读取文件才再这里问的,希望再帮帮忙。