2010-10-25 79 views

回答

2

这是它是如何做:

procedure CreateNewDatabase; 
var 
    AdoxCatalog: Catalog; 
begin 
    AdoxCatalog := CoCatalog.Create; 
    AdoxCatalog.Create(ConnectionString 
    + 'Jet OLEDB:Engine Type='+IntToStr(Jet4x)+';'); 
end; 

您需要ADOX_TLB,您可以通过导入类型库“微软ADO分机2.8 DDL和安全。”得到的。

+0

感谢您的回答。我打算让我的应用成为共享软件。 ADOX的使用如何影响部署?我是否也需要包含ActiveX库或仅包含app.exe? – AFF 2010-10-25 14:19:47

+1

据我所知,ADOX已经安装在XP及更高版本上,就像ADO一样。 [Wikipedia](http://en.wikipedia.org/wiki/Microsoft_Data_Access_Components)说,MDAC 2.5包含ADOX,并且包含在从Windows 2000开始的Windows中。 – himself 2010-10-25 14:28:02

+0

我明白了。现在我明白了。谢谢! :) – AFF 2010-10-25 14:48:58

9

是的,如果您使用ADOX库,有一种方法。它是一个可以在Delphi中导入的ActiveX库。然后你可以用下面的代码创建一个新的数据库。见here

procedure TForm1.btnNewDatabaseClick(Sender: TObject); 
var 
DataSource : string; 
dbName  : string; 
begin 
dbName:='c:\aboutdelphi.mdb'; 

DataSource := 
    'Provider=Microsoft.Jet.OLEDB.4.0' + 
    ';Data Source=' + dbName + 
    ';Jet OLEDB:Engine Type=4'; 

    ADOXCatalog1.Create1(DataSource); 
end; 
+0

感谢您的回答:-) – AFF 2010-10-25 14:20:43

+2

很高兴为您服务。如果您认为我的回答是您的问题的正确答案,您可以将我的答案标记为已接受。这就是StackOverflow的工作原理。先谢谢你。 – 2010-11-10 18:41:48