![](/img/trans.png)
[英]Can I use SQL Server security to control access to my (database first) ASP.net application? How?
[英]How to create an Access database on first launch of my .NET Windows application?
我的.NET Windows應用程序首次運行時,如何創建Access數據庫? 在客戶端計算機上安裝.exe時,我想使用項目中使用的表創建數據庫,詢問db的路徑並創建應用程序中使用的db。
從提問者的評論到問題
有沒有建議使用我的應用程序中自動使用db創建所有表,或者我必須使用c#代碼以編程方式創建表
如果要避免編寫所有DDL代碼(CREATE TABLE,CREATE INDEX等)來“從頭開始”創建表結構,則可以在Access中創建數據庫和所有表等。 然后,您可以在.NET項目中將“空白”數據庫文件(表結構但無數據)添加為資源 。
當您的應用程序啟動時,它可以檢查數據庫的本地(非“空白”)副本的存在。 如果不存在,則可以將“空白”數據庫從應用程序的“資源”復制到硬盤上的所需位置。
例如,如果我創建一個名為“ 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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.