0

我使用 SQL Server 2008 Express 创建了一个 C# 程序。

为了 C# 应用程序正确运行,最初必须在数据库表中存在一些数据。

我想在 C# 应用程序第一次执行时将此数据传输到表中。

但是我不想从我的 C# 代码中读取这个 SQL 数据(记录数据)(我不想从硬编码的 C# 代码中加载这个数据)。

SQL Server 如何存储其记录数据,如何将初始数据传输到数据库中?

4

3 回答 3

0

我会尽量不依赖现有的数据库来让您的应用程序工作。您将自己耦合到数据库,这可能不是一个好主意。你认为也许你可以从你的应用程序中执行一个存储过程来填写你所依赖的表吗?这样您的数据库创建代码就不会存在于您的应用程序中。然而,这仍然意味着您的应用程序依赖于数据库才能正常运行。

我会推荐两个计划之一,后者是更清洁的。

计划一

  • 创建一个 SQL 脚本,该脚本将创建并插入应用程序工作所需的所有数据,并将其放置在存储过程中
  • 当您的应用程序第一次启动时,它会检查配置文件以查看程序之前是否运行过,如果没有,则执行存储过程以创建所需的数据
  • 更改一个外部配置文件(可能受密码保护),该文件将指示存储过程是否已经运行,可能只是一个简单的布尔值
  • 应用程序每次后续运行时,它都会检查它是否之前运行过,如果有,则不会执行存储的过程

计划 2

  • 创建一个 SQL 脚本,该脚本将创建并插入应用程序工作所需的所有数据,并将其放置在存储过程中
  • 使用安装程序通过自定义操作部署您的应用程序以创建数据库,此处解释
于 2012-11-26T22:01:51.023 回答
0

您肯定需要在某处至少部分硬编码 SQL 插入/创建脚本。在位于应用程序目录中的 SQL 脚本中(不推荐,因为用户可能会篡改它)或在应用程序的资源中(更安全一点,因为用户需要对 EXE 或 DLL 进行十六进制编辑)。

试过这个?http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/43e8bc3a-1132-453b-b950-09427e970f31

于 2012-11-26T22:10:16.717 回答
0

我认为您的问题很简单,您想在运行程序之前填写表格。简单地说,您可以打开 sql server managment studio 并连接您的实例名称,然后展开数据库列表并找到您创建的数据库。展开它并在表树中找到您要向其添加数据的表。右键单击它并做编辑

Redgate也有一个产品来填充表格,叫做数据生成器,它可以用来填充你的表格有这么多的数据

于 2012-11-26T22:13:20.443 回答