在WinForms应用程序中存储数据

本文关键字:存储 数据 应用程序 WinForms | 更新日期: 2023-09-27 18:09:06

这可能是一个非常基本的问题,但我正在制作一个基于Windows窗体的应用程序,这将涉及大量的数据存储。它本质上是一个运动模拟器,将有数百个球队,数千名球员。

所以我需要找出存储这些数据的最佳方法。Windows窗体对我来说相对较新,因为我主要使用ASP。. NET,但我已经提出了以下想法:

  1. 程序目录
  2. 中的紧凑SQL数据库
  3. 包含可序列化对象的文件。

有没有其他更好的解决方案?或者我应该选哪一个?

在WinForms应用程序中存储数据

您的需求非常模糊,但一般来说,对于任何类型的持久数据存储,都不要进行序列化。

如果你的数据是关系型的(它有内部结构,比如"球队必须包含球员"或"球员只能是一个球队的成员"),那么我建议使用关系型DBMS,如SQL Server精简版或SQLite。

如果你的数据不是关系型的,我建议使用键/值存储,如RavenDB。

另外,不要把数据放在程序目录中;它可能不能被用户写入。将数据存储在用户目录

如果您需要对数据执行查询,我将避免以专有格式序列化它。

如果只有一个用户,那么你可以做一些简单的事情,比如通过JET驱动程序,SQLLite或NoSQL访问MDB。

如果有多个并发用户,你几乎肯定需要考虑基于"服务器"的SQL -例如SQL Express(尽管注意数据库大小的限制),MySQL等。

可以使用. mdb Access数据库来存储数据。在我的经验中不像SQLite那样可靠。

另外,您没有提到是否需要在表单关闭后持久化这些数据?如果你不这样做,你可能只是想在内存中使用数据集(或数据表)来保持数据的快速访问。