DAO和JRO类型库倒入错误(100分)

  • 主题发起人 主题发起人 wallis
  • 开始时间 开始时间
W

wallis

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在需要在程序中来压缩修复ACCESS数据库,知道可以用DAO或JRO来完成,
问题是我倒入它们的类型库(Import Type Library)是就出错,提示‘ Cannot assign to a read-only property’,
在WIN98和XP下也一样,不知怎么回事,请各位指点一二,谢谢!
 
你的问题我没用过,但是下面两个代码可以解决你想要完成的任务。[:)]
1、使用Ado来压缩数据库
procedure TForm1.Button2Click(Sender: TObject);
var
Dest_DB_Connection: OleVariant;
l_Source_Con_Str, l_Dest_Con_Str: string;
begin
try
Dest_DB_Connection := CreateOleObject('JRO.JetEngine');
except
Exit;
end;

l_Source_Con_Str := 'Data Source=C:/1.mdb;';

l_Dest_Con_Str := 'Data Source=C:/2.mdb;';

try
OleCheck(Dest_DB_Connection.CompactDatabase(l_Source_Con_Str, l_Dest_Con_Str));
except
end;
end;
 
2、使用DAO来压缩。但是这个区分版本。不如上一个好。
var dao:OLEVariant;
begin
Adoconnection.Close
screen.Cursor:=crHourGlass;
dao:=CreateOleObject('DAO.DBEngine.36');
dao.CompactDatabase(DBName,tempdaname);
DeleteFile(DBName);
RenameFile(tempdbname,DBName);
screen.Cursor:=crDefault;
dao:=NUll;
Adoconnection.Open;
end;
 
接受答案了.
 
后退
顶部