用Stream类或者其子类操作,比如用oracle的blob字段,delphi里面有TblobField 给你一段 procedure TMenuForm.ShowImage; var MyJpeg:TJpegImage; MyStm:TMemoryStream; begin a.GetSelRow; if not a.DataSet.FieldByName('图象').IsNull then begin try MyJpeg:=TJpegImage.Create; MyStm:=TMemoryStream.Create; MyStm.Clear; TBlobField(a.Dataset.FieldByName('图象')).SaveToStream(MyStm); MyStm.Position:=0; MyJpeg.LoadFromStream(MyStm); FootImage.Picture.BitMap.Assign(MyJpeg); finally MyJpeg.Free; MyStm.Free; end; end else begin if FootImage.Picture<>Nil then begin FootImage.Picture.Assign(Nil); end; end; end;
给你一段
procedure TMenuForm.ShowImage;
var
MyJpeg:TJpegImage;
MyStm:TMemoryStream;
begin
a.GetSelRow; if not a.DataSet.FieldByName('图象').IsNull then
begin
try
MyJpeg:=TJpegImage.Create;
MyStm:=TMemoryStream.Create;
MyStm.Clear;
TBlobField(a.Dataset.FieldByName('图象')).SaveToStream(MyStm);
MyStm.Position:=0;
MyJpeg.LoadFromStream(MyStm);
FootImage.Picture.BitMap.Assign(MyJpeg);
finally
MyJpeg.Free;
MyStm.Free;
end;
end
else
begin
if FootImage.Picture<>Nil then
begin
FootImage.Picture.Assign(Nil);
end;
end;
end;
BinStream:TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result:= StrStream.DataString;
finally
StrStream.Free; end;
finally
BinStream.Free
end;
end;function StringToComponent(Value: string): TComponent;
var
StrStream:TStringStream;
BinStream: TMemoryStream;
begin
StrStream := TStringStream.Create(Value);
try
BinStream := TMemoryStream.Create;
try
ObjectTextToBinary(StrStream, BinStream);
BinStream.Seek(0, soFromBeginning);
Result := BinStream.ReadComponent(nil); finally
BinStream.Free;
end;
finally
StrStream.Free;
end;
end;