2014-09-05 63 views
0

我的.NET Windows应用程序第一次运行时,如何创建Access数据库? 我想在我的项目中使用表创建一个数据库,当我在客户端机器上安装我的.exe时,请询问db的路径并在我的应用程序中使用创建数据库。如何在首次启动.NET Windows应用程序时创建Access数据库?

+0

什么.NET语言?如果您使用C#这可能会有所帮助:http://stackoverflow.com/questions/4778548/how-to-create-microsoft-access-database-in-c-sharp-programmatically – 2014-09-05 05:10:39

+0

谢谢你先生这是创建我的分贝。但是有没有建议创建所有的数据库在我的应用程序中自动使用的数据库,或者我必须使用C#代码编程地创建表 – 2014-09-05 05:28:59

回答

2

从这个问题

提问者的评论有任何建议创建所有与数据库中的表在我的应用程序自动使用或我要箱子表编程方式使用C#代码

如果您希望避免编写所有的DDL代码(CREATE TABLE,CREATE INDEX,...)以“从头开始”创建表结构,您可以在Access中创建数据库和所有表等。然后,您可以在.NET项目中将“空白”数据库文件(表结构,但不包含数据)添加为Resource

当您的应用程序启动时,它可以检查是否存在本地(非“空白”)数据库副本。如果其中一个不存在,那么它可以将应用程序资源中的“空白”数据库复制到硬盘驱动器上的所需位置。

例如,如果我创建了一个名为“resTestData.accdb”一个“空白”数据库,并将其保存为File资源的项目中,我可以把它复制到本地硬盘驱动器,像这样:

string persistentDbLocation = @"C:\Users\Gord\Desktop\resTestUserData.accdb"; 
if (File.Exists(persistentDbLocation)) 
{ 
    Console.WriteLine("Local persistent copy of database already exists."); 
} 
else 
{ 
    // "resTest" is the name I gave to my C# Project, hence resTest.Properties 
    byte[] dbResource = resTest.Properties.Resources.resTestData; // .accdb File Resource 
    using (FileStream output = new FileStream(persistentDbLocation, FileMode.Create, FileAccess.Write)) 
    { 
     output.Write(dbResource, 0, dbResource.Length); 
    } 
    Console.WriteLine("Local persistent copy of database saved to \"{0}\".", persistentDbLocation); 
} 
相关问题