0

上下文:我正在用 Visual C# / .Net 编写一个应用程序,用户可以在其中:

  • 创建一个新的文档文件“Untitled.abc”
  • 添加一些数据/内容,例如图像、文本等。
  • 将文档文件另存为“MyDoc7.abc”,其中 abc 将是我的应用程序特定扩展。

问题:以下方法是否可以很好地实现上述方法,或者是否有更简单/更清洁的方法?

  • 我从一个名为 MyDb 的 SQL-Server 数据库开始。
  • 每次用户创建一个新的文档文件时,我都会以编程方式将一个新的数据库表添加到 MyDb
  • 新创建的 DB 表存储来自用户创建的特定相应文档文件的数据/内容。
  • 当用户将来重新打开保存的文档文件时,我以编程方式从附加的相应数据库表中读取数据/内容。

更新:已解决。我将使用这种替代方法:

  • 我从一个名为 MyDb 的 SQL-Server 数据库开始,其中包含一个名为 MyTable 的表,其中包括一个名为 FileId 的列。
  • 每次用户创建一个新的文档文件时,我都会为该文件分配一个唯一的 ID,例如 FileId = 5。
  • 当用户向文件添加一条数据/内容时,我将这条数据存储到 MyTable 中,但也为该条数据存储 FileId = 5。
  • 将来,当用户重新打开文件时,我会从 MyTable 中获取 FileId = 5 的所有数据。
4

1 回答 1

1

这听起来像是一个特别糟糕的主意。

  1. 您不想即时创建表格
  2. 如果所有数据都在数据库中,那么该文件是做什么用的?

我宁愿选择 Office 使用的方法:

  1. 该文件实际上是一个 zip 存档,其中包含:
    1. 资产(图像等)的文件夹
    2. 包含内容和资产相关链接的实际文件。
于 2013-07-11T07:43:56.540 回答