2014-09-05 71 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); 
} 
相關問題