编程是一门艺术

Creative Commons License
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
raptor.zh(at)gmail.com

archives 存档

01 Jan - 31 Dec 2011
01 Jan - 31 Dec 2010
01 Jan - 31 Dec 2009
01 Jan - 31 Dec 2008
01 Jan - 31 Dec 2007
01 Jan - 31 Dec 2006
01 Jan - 31 Dec 2005
01 Jan - 31 Dec 2004
01 Jan - 31 Dec 2003
01 Jan - 31 Dec 2002
01 Jan - 31 Dec 2001
01 Jan - 31 Dec 2000
01 Jan - 31 Dec 1999

--

links 链接

--

创建一个MDB文件

昨天令狐说需要用到Access数据库,又不想装Office,在群里征求办法。

我建议的办法是用DELPHI/BCB自带的SQL Explorer通过BDE over ODBC连接Access数据库,这样就可以修改库结构,及使用SQL语句进行大部分数据库操作。

但是有一个问题就是不能创建一个空的数据库文件,只能连接已有的MDB文件。

不过这个问题好解决,用ADOX不过是几行代码的问题,如果会VBS当然最好,MSDN里有现成的代码,可惜偶不会,只好拿TCX写了一个:

void CreateMDB( AnsiString sFileName )
{
// from MSDN
// Create Method Example (VB)
// The following code shows how to create a new Microsoft Jet database with the Create method.
Variant adoCat;
WideString connStr = "Provider='Microsoft.Jet.OLEDB.4.0';Data Source='"
+ sFileName + "'";
Procedure createCat( "Create" );

CoInitialize( NULL );
adoCat = Variant::CreateObject( "ADOX.Catalog" );
adoCat.Exec( createCat << connStr );
CoUninitialize( );
}

如果用DELPHI写,这个代码会更简单,因为DELPHI在编译器一级扩展了"."运算符的功能,不像TCX需要保持C++的语法不变。

完整的代码及编译好的程序在这里下载:直接下载


Trackback link:

Please enable javascript to generate a trackback url

No trackbacks

评论(0)


 
   
 
  表情图标 

 


提示: 除了 <b> 和 <i> 之外,其他的Html标签都将从您的评论中去除.url或mail地址会被自动加上链接.