好像是BLOB类型吧;
操作和其他字段一样;

解决方案 »

  1.   

    用什么字段啊。肯定是ole字段。 至于怎么保存,delphi自己有个demo。不过不是基于access的。你去看一下吧。。在D:\Borland\Delphi5\Demos\Db\Fishfact
      

  2.   

    你使用的DBIMAGE控件里面有个方法PasteFromClipboard,然后Save就可以 :-)
      

  3.   

     save 怎么写呢?详细点好吗?
      

  4.   

    //保存
    procedure TForm1.ImageIntoDBBitBtnClick(Sender: TObject);
    begin
      try
        with Query1 do
          begin
            close;
            sql.clear;
            sql.add('insert into img (imga) values(:imag)');
          end;
        try
          if FileName<>'' then
            ParamByName('Img').LoadfromFile(FileName,ftGraphic)
          else
            ParamByName('Img') .asBlob:='';
          Query1.ExecSQL;
        except
          ShowMessage('图片保存出错!');
          exit;
        end;
      except
      end;
    end;//读取
    procedure TForm1.ImageFromDBBitBtnClick(Sender: TObject);
    var
      m_jpegstream:tmemorystream;
    begin
      with Query1 do
      begin
        close;
        sql.clear;
        sql.Add('select imga from img');
        try
          Open;
        except
          exit;
        end;
      end;
      if (Query1.FieldByName('imga') as tblobfield).asstring='' then
      begin
        exit;
      end
      else
      begin
        try
        try
          m_jpegStream:=TMemoryStream.Create;
          (Query1.fieldbyname('imga') as TBlobField).SaveToStream(m_JpegStream);
          m_JpegStream.Position:=0;
          try
            image2.Picture.Graphic:=nil;
            image2.Picture.Graphic:=TJpegImage.Create;
            image2.Picture.Graphic.LoadFromStream(m_JpegStream);  //读Jpeg
          except
            Image2.Picture.Bitmap.LoadFromStream(m_JpegStream);  //读Bmp
          end;
        except
        end;
        finally
          m_JpegStream.Free;
          Query1.Close;
          Query1.UnPrepare;
        end;
      end;
    end;
      

  5.   

    写入图片
    procedure TForm1.Button1Click(Sender: TObject);
    var ms: TStream;
        bm: TJpegImage;
    begin
    if OpenPictureDialog1.Execute then
      begin
      table1.Open;
      table1.Append;
      bm := TJpegImage.Create;
      bm.LoadFromFile(OpenPictureDialog1.FileName);
      image1.Picture.Graphic := bm;
      Table1.Edit;
      ms := Table1.CreateBlobStream(table1.FieldByName('test'), bmWrite);
      image1.Picture.Graphic.SaveToStream(ms);
      Table1.Post;
      bm.Free;
      end;
      ms.Free;
    end;从数据库中读取图片
    procedure TForm1.Button2Click(Sender: TObject);
    var ms: TStream;
        bm :TjpegImage;
    begin
    if table1.Active then
      begin
      bm := TjpegImage.Create;
      ms := Table1.CreateBlobStream(table1.FieldByName('test'), bmRead);
      bm.LoadFromStream(ms);
      image1.Picture.Assign(bm);
      bm.Free;
      ms.Free;
      end;
    end;
      

  6.   

    为什么会出现"undeclared identifier:'Tjpegimage'"的错误呢?
      

  7.   

    在问一个,
    BLOBS TO CACHE=64
    BLOB SIZE=1024
    在哪里设置的???
      

  8.   

    你双击你的database控件,会打开一个界面,再按界面上的一个按钮“defaults",然后在parameter overrides内改!