我正在尝试将图片从数据库中的特定位置加载到图像中,但我的代码遇到了一些我无法解决的问题。
基本上,我想在适用于具有不同帐户的不同用户的应用程序中加载由唯一 ID 指定的图像。图像应该基本上加载用户之前保存的图片。
所以首先我使用以下查询来确定我需要的图片:
procedure TForm12.BitBtn1Click(Sender: TObject);
begin
with ADOQuery7 do
begin
Close;
Sql.Clear;
Sql.Add('SELECT Profile_Picture FROM profile WHERE username='+QuotedStr(edit12.text));
Open;
end;
end;
哪个工作正常,并且确实针对具有指定用户名的图片的字段。然后我使用以下内容将图片加载到空的 TImage 中:
procedure TForm12.BitBtn2Click(Sender: TObject);
var
AStream: TMemoryStream;
begin
AStream := TMemoryStream.Create;
try
if ADOquery7.Active then
begin
TBlobField(ADOQuery7.FieldByName('Profile_Picture')).SaveToStream(AStream);
AStream.Position := 0;
Image6.Picture.Graphic.LoadFromStream(AStream);
end;
finally
AStream.Free;
end;
结尾;
但我总是收到访问冲突错误。任何人有任何想法是什么问题?我从中加载图像的文件存储在 OLE 对象列中。