1直接用daorocedure TForm1.Button1Click(Sender: TObject);
var
dbe:olevariant;
begin
// DBEngine
dbe:= CreateOleObject('dao.DBEngine.36');
if OpenDialog1.Execute then
dbe.CompactDatabase(OpenDialog1.FileName, ExtractFilePath (OpenDialog1.FileName) + 'c.mdb', '', 0, '');
end;
var
dbe:olevariant;
begin
// DBEngine
dbe:= CreateOleObject('dao.DBEngine.36');
if OpenDialog1.Execute then
dbe.CompactDatabase(OpenDialog1.FileName, ExtractFilePath (OpenDialog1.FileName) + 'c.mdb', '', 0, '');
end;
ADOConnection1.Execute('alter table authors add column aaaa text(30)');
好文章,就是太长了。
第一个问题:
执行dbe:= CreateOleObject('dao.DBEngine.36')就死机,
'dao.DBEngine.36'是何意?
你没装access2000 可能没有dao3.6我猜的
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DAO.DBEngine.36
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\DAO.DBEngine.35
错误由"类字符串无效"变成"OLE error 80040112"
在IDE环境下仍死机。