图片格式为JPG,如果把图片保存到数据库,并用程序浏览图片,不能复制图片,同时刻录成光盘形式,可直接在光盘执行程序并浏览图片.谢谢!

解决方案 »

  1.   

    存:
    ---
    var
      MS:TMemoryStream;
      sSQL,sSpecialityID:String;
    begin
          MS:=TMemoryStream.Create;
          TJPEGImage(Image.Picture.Graphic).SaveToStream(MS);//将图像数据写入内存流
          MS.Position:=0;      ADOQuery.Open;
          ADOQuery.Append;
          TBlobField(ADOQuery.FieldbyName('Photo')).LoadFromStream(MS);
          ADOQuery.Post;
          MS.Free;
       except
          Application.MessageBox('保存信息失败,请重试!', '系统提示', MB_OK +      
           mb_IconExclamation);
       end;end;--------读取:
    ---
    var
       MyJPEG:TJPEGImage;
       MS:TMemoryStream;
       bs:TBlobStream;
    begin   
        {**取出相片**}
        MyJPEG:=TJPEGImage.Create;
        MS:=TMemoryStream.Create;
        try
           TBlobField(ADOQuery.FieldByName('Photo')).SaveToStream(MS);
           MS.position :=0;
           MyJPEG.LoadFromStream(MS);
           //DBImage.picture.assign(MyJPEG);该控件的使用
           Image.picture.assign(MyJPEG);
         finally
           MyJPEg.free;
           MS.free;
         end;
         
    end;
      

  2.   

    用blob数据类型就可以了
    with query1.fields.FieldByName('NEW') as TBlobField do
     savetofile('tempole.nnn'); //loadfromfile('tempole.nnn')
      

  3.   

    我一直都在用BLOB的二进制字段