unit ole;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtnrs, DB, ADODB, DBCtrls, Grids, DBGrids, DBTables;type
  TForm1 = class(TForm)
    OleContainer1: TOleContainer;
    Button1: TButton;
    Button2: TButton;
    ADOQuery1: TADOQuery;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    ADOTable1a: TStringField;
    ADOTable1b: TBlobField;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
   bs:TBlobStream;
   //bs2:tstream;
begin
   adotable1.Open;
   bs:= TBlobStream.Create(ADOTable1b,bmReadWrite);
try
   OleContainer1.SaveToStream(bs);   adotable1.Edit;
   //bs2 :=adotable1.CreateBlobStream(adotable1.FieldByName('b'),bmReadWrite)
 // Stream2.CopyFrom(Stream1, Stream1.Size);
 //     ClientDataSet1.Post;   //tblobfield(adotable1.FieldByName('b')).LoadFromStream(bs);
   ADOTable1b.LoadFromStream(bs);
  adotable1.Post;
finally
   bs.free;
end;end;{procedure TForm1.Button2Click(Sender: TObject);
var
   bs:TBlobStream;
begin
   adotable1.Open;
   bs:= TBlobStream.Create(ADOTable1b,bmReadWrite);
try
   adotable1.Edit;
   ADOTable1b.SaveToStream(bs);
   OleContainer1.LoadFromStream(bs);
  adotable1.Post;
finally
   bs.free;
end;end; }
end.报错是:编译的时候显示:Invalid TypeCast异常。请问是怎么回事?具体可能就是bs的初始化问题。 
我的数据库是SQL,字段是'b',类型设为image(我想要的类型是BLOB类型)。
主要的思路是:把OLE的信息保存到BS流中,再把流直接写到数据库的‘b'字段中。然后再掉出来!