如何在程序或可执行文件中包含只读数据库?

时间:2017-03-28 14:37:11

标签: c# sql-server

我正在开发一个小型Windows窗体程序,用于从本地数据库which I have created by following this guide.

读取数据

我已使用Visual Studio中的Designer使用数据填充这些表,并且程序无法在运行时对此数据库进行更改,因为它们代表静态的已知数据 - 如果我在某个构造函数中对每个对应的表行对象的实例化进行硬编码,我可以得到相同的结果。

当我使用Visual Studio构建我的解决方案时,它会生成两个文件 - 打开表单的.exe文件和带有数据库表格的.mdf文件。

两个相关问题 - 使用具有此类只读数据的数据库是否有意义?如果是这样,有没有办法将.MDF文件合并到.exe中?同样,需要修改数据,因此我不认为您无法修改.exes的事实需要阻止这一点。

1 个答案:

答案 0 :(得分:1)

是的,你可以这样做。但首先需要构建数据集。我会用SQL或类似的方法创建您的数据,然后将其与XSD架构一起导出到XML。

然后在Visual Studio中,将DataSet对象添加到项目中。

然后,您可以与DataSet对象交谈,并使用XSD和XML填充它。

https://msdn.microsoft.com/en-us/library/atchhx4f(v=vs.110).aspx

要将所有内容保存在.EXE中,请将XML数据嵌入到Resource文件中,然后通过Resources静态类访问它。