我在使用 Delphi 的 MySql 数据库中的 TImage 中显示我的图片时遇到问题。
我使用此代码将图片保存到我的数据库并完美地工作。
var
AStream : TMemoryStream;
AStream := TMemoryStream.Create;
try
Image1.Picture.Graphic.SaveToStream(AStream);
AStream.Position := 0;
if ADODataSet1.Active then
begin
ADODataSet1.Edit;
TBlobField(ADODataSet1.FieldByName('MyField')).LoadFromStream(AStream);
ADODataSet1.Post;
end;
finally
AStream.Free;
end;
但是,问题是当我想检索那些图片时。我使用此代码,但我只能显示数据库中的第一张图像。我在 DBGrid 事件上使用此代码 - OnDrawColumnCell。当我使用此代码时,我收到消息 JPEG 错误 #42!
var
AStream : TMemoryStream;
begin
AStream := TMemoryStream.Create;
try
if ADODataSet1.Active then
begin
TBlobField(ADODataSet1.FieldByName('MyField')).SaveToStream(AStream);
AStream.Position := 0;
Image1.Picture.Graphic.LoadFromStream(AStream);
end;
finally
AStream.Free;
end;
end;
有人可以告诉我如何解决这个问题。谢谢你。