从firemonkey数据库中检索blob变量并在delphi中转换为位图

时间:2013-12-24 10:55:14

标签: delphi bitmap delphi-2010

这是我的代码;我有一个包含blob变量的表,我需要检索它并添加到图像中。这是我的代码而且无法正常工作

procedure TForm1.Button1Click(Sender: TObject);
var mybitmap, newBitmap: TBitmap;
    str, query: string;
    sqlQRY: TSQLQuery;
    BLOB: TBlobField;
    Ts : TMemoryStream;
    bl  : TBlobData;
begin

  SQLConnection1.Open;

  mybitmap:= TBitmap.Create;
  mybitmap.Width :=25;
  mybitmap.Height := 25;

  query := 'SELECT * FROM CATEGORY_TYPES';
  sqlQRY := TSQLQuery.Create(self);
  sqlQRY.SQLConnection := SQLConnection1;
  sqlQRY.SQL.Add(query );

  sqlQRY.Open;
  while not sqlQRY.Eof do
  begin
    if not sqlQRY.FieldByName('ICON').IsNull then
    begin

      BLOB := sqlQRY.FieldByName('Icon') as TBlobField;
      ts := TMemoryStream.Create;
      BLOB.SaveToStream(ts);
      ts.Position :=0;
      mybitmap.LoadFromStream(Ts);
      Image1.Picture.Assign(mybitmap);
    end;
    sqlQRY.Next;
  end;
  sqlQRY.Close;
end;

以上代码无效;它显示一个错误消息,位图不是任何人都可以解决它?

0 个答案:

没有答案