2010-09-05 33 views
0

我在决定如何存储某些数据时遇到了一些问题。从简单的角度来看,它将是一个简单的数据表,但会有很多表格。每个表格中将有大约7列,但是也会有很多表格(并且它们将在运行时创建,只要客户想要一个干净的网格)如何存储我的数据(C#.net)

数据必须存储在本地文件中(并且不会有多个运行的软件实例)。我正在使用C#4.0,我一直在寻找使用XML文件(每个表的一个文件,或在一个文件中存储多个表),sqlite,sql server CE,访问等。我会很高兴,如果有人在这里对如何做/不做有一些意见或建议。稳定性和可靠性(例如,由于不稳定的第三方软件而导致数据库不存在)可能是我最关心的问题。

+1

这个数据有多大?它能适合内存吗?是否需要对其执行广泛的查询,或者它是单个加载/保存?其他程序/过程是否需要访问/修改这些数据?在选择正确的工具之前需要回答的一小组问题。没有提供更多信息的每个答案都是纯粹的猜测。 – 2010-09-05 15:46:09

+0

我认为你忽略的一大块信息是你每桌看几排? – 2010-09-05 15:46:14

回答

0

XML不会是一个很好的选择,如果您计划进行多次查询,因为它们生长时(超过1MB谈论文件)加载文本文件可能是痛苦的。如果你打算把数据保存得很低,那么xml将会很简单。我仍然不会使用它,但如果你有背景,那么好处将比学习曲线更重。

如果您有任何人无需专业知识,并且数据是光我的建议是SQLite的,我beleive是.NET中的最佳轻量级DB和prvider是非常好的。您可以在Google上轻松找到它。

我会告诉你Access不被推荐,但这是个人的想法。许多人使用它,我认为是由于某种原因。所以你应该检查一下并尝试一下。

再次,我最后的建议是SQLite的,除非你非常清楚地知道另外一个,在这种情况下,你必须考虑你的数据是多少呢增长。如果你打算拥有大约100MB的数据库,其中任何一个,除xml外都可以;如果你认为它会成长比大,考虑的SQLite严重

+0

如果我将数据存储在单个XML文件中,则大小可能会有问题,但如果我将其存储在多个文件中,则大小可能会有问题。但是,将所有内容保存在一个文件中是有好处的。我有xml的经验(至少有一点,我一直在使用LINQ在以前的项目)和mysql + microsoft sql server的一些其他项目。正如我所看到的,访问的优势是我不必依靠第三方代码,而使用SQLite,我需要来自第三方的适配器,这让我有点担心。但似乎有几个开源解决方案,所以它可能不会是一个问题。谢谢 – DkM 2010-09-05 16:37:10

1

如果您正在寻找本地存储在一个文件中的数据,我会建议SQLite的选择,因为它似乎你的数据在数据库的形式创建表已经。 Sqlite已经被构建来处理多个表和列,所以它对开发人员来说意味着更少的精神开销。

http://web.archive.org/web/20100208133236/http://www.mikeduncan.com/sqlite-on-dotnet-in-3-mins/是一个体面的教程就如何设置它,得走一个快速浏览。

至于什么不该做:不要试图使自己的方案,以将数据保存到一个文件中,它已经在解决了许多次,很好理解的问题,为什么要重新发明轮子?

+0

感谢您的链接,我会给它一个镜头:) – DkM 2010-09-05 16:24:36