谁知道怎样从数据库中读写图片类型字段.比如  select UserName_str,UserPicture_Image from SysUserInsert SysUser(UserName_str,UserPicture_Image) values("Myselfe",?????)那么UserPicture_Image如何读写,让他显示到屏幕上,怎么把图片写到数据库中

解决方案 »

  1.   

    存到数据库
    var
    pjpg:tjpegimage;
    pic:TMemoryStream;
    begin
    pjpg:=tjpegimage.Create;
    pjpg.LoadFromFile(F:\JPG.jpg);
    pic:=TMemoryStream.Create;
    pjpg.SaveToStream(pic);
    pic.Position:=0;
    TBlobField(dataset.FieldByName('Img')).LoadFromStream(pic);
    //TBlobField(dataset.FieldByName('Img')).LoadFromFile('JpgFileName');dataset.post;
    pic.Free;
    pjpg.free;
    end;
    从数据库取出
    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.Picture.assign(pjpeg);
    pjpg.Free;
    pic.Free;
    end;
      

  2.   

    使用TBlobField就可以创建一个位图对象
    bmpZhaopian := TBitmap.Create;
    装载位图
    bmpZhaopian.Assign( szZhaopian.Picture.Bitmap );写入字段
    (FieldByName( '照片' ) as TBlobField).Assign( bmpZhaopian );