【问题标题】:csharp flat file database for a standalone windows application用于独立 Windows 应用程序的 csharp 平面文件数据库
【发布时间】:2012-01-15 16:47:00
【问题描述】:

这样的问题已经被问过好几次了。 然而我在这里。

我正在编写一个独立的 windows 程序,它将像三个字段一样获取用户输入,并且必须将其存储在磁盘中。

我还需要删除它们,编辑它们等等。

应该是 UTF8。

这里还有实际需要。

我已经在我的服务器中托管了这个应用程序,用户可以下载它。

我希望程序第一次执行时自动创建数据库。

我的意思是用户可以或应该只下载一个文件,那就是程序。

该程序将是一个exe文件,它不会有任何依赖关系。

在问这个问题的同时,我尝试了 .net 2.0 的 sqllite,我从 sourceforge 获得了一个安装程序并安装了它。

我包含在我的应用程序中,但它显示了一个错误,例如存在问题。

所以,如果人们建议使用 sqlite,那么请给我参考如何包含在 c#.net v2.0 中

我是 .net 的新手,所以需要很长时间才能将所有东西组合在一起,所以想发布这个问题。

任何 cmets、建议、意见和参考资料都会很好。

编辑

我已经附上了我得到的错误

首次回复后编辑

用户最多可以保存三个字段。 我举了三个领域的例子。 他们将根据需要保存尽可能多的记录。 它可以从 100 到无穷大。

【问题讨论】:

  • SQLite 对我来说很好用。我不知道你为什么从 SourceForge 获得它:从System.Data.SQLite download pagesqlite.org 获得它 :) 如果你确实选择了 SQLite(这听起来像是一个主要的候选人,尽管还有其他人)并且仍然有问题,问一个关于这些问题的具体问题——当然是在搜索之后:)
  • 如果你想解决这个错误,最好提供更多细节。
  • 我可以看到类似 3.5 或 4.0 的版本,但我使用的是 2.0 .net2005
  • Err... 我没有为 SQLite 使用 VS 包。那是“额外”吗?所需要的只是“System.Data.Sqlite.dll”和“sqlite3.dll”文件——只需在项目中添加对前者的引用,并确保后者位于加载路径中。然后“像往常一样”使用 ADO :)

标签: c# database flat-file


【解决方案1】:

如果只存储 3 个字段 - 忘记数据库并将数据存储在 XML 文件中。

您可以创建一个具有这 3 个属性的类,然后根据需要对其进行序列化/反序列化。

这是来自 Microsoft 的关于 XML 序列化的精彩教程:http://support.microsoft.com/kb/815813
反序列化以非常相似的方式完成。

【讨论】:

  • 一个用户最多可以保存三个字段。我举了三个领域的例子。他们将根据需要保存尽可能多的记录。它可以从 100 到无穷大。
  • 并且...我讨厌将 xml 与 .net 一起使用,因为它与所有继承都聚集在一起。我在想 xml 会像 PHP 一样简单。 .net 中的 xml 和 json 都不像 PHP 那样简单。我仍然想知道为什么在 .net 中使用 xml 如此复杂。我希望在 .net 中进行 DOM 遍历
  • 首先 - XML 在 .NET 中非常易于使用,只是与 PHP 中的使用方式不同。但没关系,使用 Xml 序列化您无需触及 XML 本身,一切都为您完成。相反,您操作对象。我建议你阅读我给你的链接。
猜你喜欢
  • 2011-07-21
  • 1970-01-01
  • 2010-12-10
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多