access and ole(50分)

  • 主题发起人 nb2002273
  • 开始时间
N

nb2002273

Unregistered / Unconfirmed
GUEST, unregistred user!
我建立一ACCESS库(A库),我把它放在OLECONTAINER 中,我又建立一个B库,里面有一个表(Q)里一个字段为
OLE 类型(M 字段),我把A库写到M字段中,成功,如下:
procedure TForm1.Button1Click(Sender: TObject);
var
ms:tmemorystream;
begin
ms:=tmemorystream.Create;
olecontainer1.SaveToStream(ms);

ado_q.First;
ado_q.Edit;
TBlobField(ado_q.fieldbyname('aa')).LoadFromStream(ms);

但是我想要建立一个C库,同A库一模一样,我把M字段的东西去出来,用到如下代码,虽然建立
成功,但是ACCEESS打不开,提示不能识别的数据库类型,而且此C库比A库大.
代码如下:

adoTemp.SQL.Add('select * from Q');
adoTemp.Active :=true;
strpath:=extractfilepath(application.exename)+'/C.mdb';
if adoTemp.RecNo >0 then
(adoTemp.FieldByName('M') as tblobfield).SaveToFile(strPath);
adoTemp.Free;
adoCon.Free;
// curDataPath:=strPath;
//edtPath.Text :=strPath;
//WriteLastLoginInfo(curLastName,curDatapath);
//except
end;
 
顶部