首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于通过OleContainer1组件往数据库存储文件的有关问题

2012-08-17 
关于通过OleContainer1组件往数据库存储文件的问题!procedure TForm1.AddTButtonClick(Sender: TObject)v

关于通过OleContainer1组件往数据库存储文件的问题!
procedure TForm1.AddTButtonClick(Sender: TObject);
var
  ST:TStream;
  fn: string;
  Date:TDateTime;
  ID: Longint;
  Node:TTreeNode;
begin
  Date:=now;
  ID:=StrToInt(format('%10.0f',[50000*Date]));
  if OpenDialog1.Execute then
  begin //打开文件
  fn := ExtractFileName(OpenDialog1.FileName);
  with IBTable1 do
  begin
  Open;
  if State <>dsEdit then Edit;
  Append;
  FieldByName('Code').AsInteger:=ID;
  FieldByName('FType').AsString:=TreeView1.Selected.Text;
  FieldByName('FName').AsString:=fn;
  ST:=CreateBlobStream(FieldByName('Detail'),bmWrite);
  OleContainer1.CreateObjectFromFile(OpenDialog1.FileName, False); //创建OLE对象
  OleContainer1.SaveToStream(ST); //将OLE数据存入数据库
  ST.Free;
  Post;
  end;
  Node:=TreeView1.Items.AddChild(TreeView1.Selected,fn);
  Node.ImageIndex:=6;
  Node.SelectedIndex:=6;
  end;
  AddTButton.Enabled:=false;
end;

有些错误可以说莫名其妙。比如:以上程序存储doc、txt、bmp文件都很顺利,可是存储mp3文件时却“应用程序已启动,但未注册类别工厂。”然后高亮指向“ OleContainer1.SaveToStream(ST); //将OLE数据存入数据库
这一句。  
期待解答。

[解决办法]

是不是控件有问题呀

热点排行