【发布时间】:2017-03-28 23:10:52
【问题描述】:
我正在开发一个从本地数据库读取数据的小型 Windows 窗体程序,which I have created by following this guide.
我已经使用 Visual Studio 中的设计器在这些表中填充了数据,并且程序无法(也永远不会)在运行时更改此数据库,因为它们代表静态的已知数据-- 如果我在某处的构造函数中硬编码每个对应表行对象的实例化,我可以获得相同的结果。
当我让 Visual Studio 构建我的解决方案时,它会生成两个文件——打开表单的 .exe 和包含数据库表的 .mdf 文件。
两个相关的问题——使用包含这种只读数据的数据库是否有意义?如果是这样,有没有办法将 .MDF 文件合并到 .exe 中?同样,零需要修改数据,所以我认为您不能修改 .exe 的事实不需要阻止这种情况。
【问题讨论】:
-
取决于你如何使用数据库;如果您仅将它用作平面信息存储并且只是将所有数据加载到内存中,那么您怀疑数据库是一个糟糕的选择。另一种方法是将一些 XML 作为资源嵌入:stackoverflow.com/questions/2820384/…
-
数据库文件只能由数据库引擎处理,所以不,没有填充到您的可执行文件中。如果您的数据足够大以至于将其存储为表仍然有意义(与 XML 资源相反),您可以查看像 SQLite 这样的轻量级选项。
-
@AlexK。它不是平面的,但 XML(或 JSON,我猜?)资源文件可能更有意义。这是一个有用的链接,谢谢。
-
您可以在 SQL Server 中创建两个帐户。一个具有完全访问权限,另一个具有只读访问权限。
标签: c# sql-server