procedure saveimage; Var BlobStream:TBlobStream; JpegImage:TJpegImage; begin try with yourtable do try JpegImage:=TJpegImage.Create; BlobStream:=TBlobStream.Create(TBlobField(FieldByName,'fieldname')),bmWrite); BlobStream.Position:=0; // BlobStream.Truncate; JpegImage:=TJpegImage(yourform.image1.Picture.Graphic); JpegImage.SaveToStream(BlobStream); finally if Not Assigned(BlobStream) then BlobStream.Free; if Not Assigned(JpegImage) then JpegImage.Free; end; except end; end; 注:别忘了引用 jpeg 单元
stream : TMemoryStream;
begin
try
stream :=TMemorystrema.Create;
stream.loadFilename('c:\hello.jpg')
table1.append;
(table1.Fieldbyname('image') as tblobField).LoadStream(stream);
table1.post
finally
stream.Free;
end;
end;
还有一种方法就是
picture:Tpicture;
picture:=loadpicture("c:\ma.jpg");
YourTable1.FieldByName('Image').value=Assign(picture);
大概这样
Var
BlobStream:TBlobStream;
JpegImage:TJpegImage;
begin
try
with yourtable do
try
JpegImage:=TJpegImage.Create;
BlobStream:=TBlobStream.Create(TBlobField(FieldByName,'fieldname')),bmWrite);
BlobStream.Position:=0;
// BlobStream.Truncate;
JpegImage:=TJpegImage(yourform.image1.Picture.Graphic);
JpegImage.SaveToStream(BlobStream);
finally
if Not Assigned(BlobStream) then BlobStream.Free;
if Not Assigned(JpegImage) then JpegImage.Free;
end;
except
end;
end;
注:别忘了引用 jpeg 单元
table1.edit;
DBImage1.Picture.LoadFromFile('c:\blank.jpg');
DBImage1.CutToClipboard;
DBImage1.PasteFromClipboard;
table1.post
给分吧。