【问题标题】:How to create an Access database on first launch of my .NET Windows application?如何在第一次启动我的 .NET Windows 应用程序时创建 Access 数据库?
【发布时间】:2014-09-05 05:06:33
【问题描述】:

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

【问题讨论】:

  • 什么 .NET 语言?如果您使用 C#,这可能会有所帮助:stackoverflow.com/questions/4778548/…
  • 谢谢你先生这是创建我的数据库。但是有什么建议可以在我的应用程序中自动使用 db 创建所有表,或者我必须使用 c# 代码以编程方式创建表

标签: c# .net ms-access ms-access-2007


【解决方案1】:

从提问者的评论到问题

是否有任何建议可以在我的应用程序中自动使用 db 创建所有表,或者我必须使用 c# 代码以编程方式创建表

如果您想避免编写所有 DDL 代码(CREATE TABLE、CREATE INDEX...)来“从头开始”创建表结构,您可以在 Access 中创建数据库和所有表等.然后,您可以将该“空白”数据库文件(表结构但没有数据)作为Resource 添加到您的 .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);
}

【讨论】:

    猜你喜欢
    • 2014-03-09
    • 2020-04-21
    • 2021-07-09
    • 2022-01-20
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多