【问题标题】:Using a database in a Windows application在 Windows 应用程序中使用数据库
【发布时间】:2013-03-13 19:51:04
【问题描述】:

我正在使用 C# 开发 Microsoft Kinect 游戏(适用于 Windows),我需要一个本地数据库来存储有关玩家及其进度的信息以及有关他们的分数和准确性的更详细信息。我从未在 Windows 应用程序中使用过数据库,我一直在寻找有关如何使用的建议。我一直在尝试使用 SQL Server,因为它可以让我在 Visual Studio 中创建一个数据库。我一直找不到很多关于如何在 C# 应用程序中与数据库交互的资源。

我对 SQL Server 知之甚少,所以我不知道它是否是我需要的正确选择。有没有人建议使用什么样的数据库系统?您能否指出一些关于如何做我需要做的事情的好资源/示例的方向?

非常感谢!

编辑:我还应该提到我确实有使用 SQL 的经验。

【问题讨论】:

  • 我知道你可能不喜欢听到这个,但是序列化的 XML 也可以工作,这取决于你存储了多少信息。

标签: c# sql-server database windows kinect


【解决方案1】:

还有其他更便携的解决方案,例如 SQLiteSQL Server Compact Edition,它们不需要单独的服务器安装,并且更容易从独立的桌面应用程序中访问和分发。

该用法可以在很大程度上与外部 SQL 服务器和/或 Linq to SQL 进行比较,因此实际实现应该不会那么难。

一些有趣的链接:

正如另一条评论中提到的,一个简单的序列化 XML 文件可能也足以供您使用。它快速、简单,如果您不需要执行任何实际的数据库操作而只需保存和加载所有内容,那么它可能会更有效。

【讨论】:

  • SQL Server 精简版听起来很棒。你知道有什么资源可以更好地解释如何在 C# 中使用它并与之交互吗?
  • 我已经编辑了我的帖子并包含了一些我过去使用过的链接。
  • 你想怎么做?您和数据库之间的最低级别管道将是 ADO.NET,通过 System.Data.SqlClient 命名空间访问。在规模的另一端是像EFnHibernate 这样的ORM;在两者之间有LINQ-to-SQL
【解决方案2】:

研究使用 SQLDatasource 和相关教程。这将为您提供一种简单的方法来启动和运行,而无需深入了解 SQL。设置好数据源并“绑定”到数据库后,您可以使用它来将控件(网格、标签、文本框等)连接到它。

看看这个:

http://www.youtube.com/watch?v=w34BDhDPEEQ

【讨论】:

    【解决方案3】:

    您不想要完全成熟的 SQL Server。 SQL Server Compact Edition 更合适,或者还有 SQLite 用于非 Microsoft 选项。

    从 C# 与数据库交互的最简单方法是 Entity Framework,它随 .NET 4.5 提供,或者可作为 .NET 3.5 和 .NET 4 的 nuget 包下载。

    一个不同的非关系数据库选项是DB4O

    【讨论】:

      【解决方案4】:

      你可以使用Entity Framework

      var player = db.Players.Where(x => x.playerId = id);
      var points = player.points;
      
      points =+ 100;
      db.SaveChanges();
      

      如果您不想使用ORM,也可以针对表编写CRUD 操作

      【讨论】:

        【解决方案5】:

        基本上,您必须使用 Visual Studio 的 GUI 创建一个带有表的数据库。

        然后,在代码中需要的地方,您必须使用连接字符串创建与数据库的连接。然后,您必须使用 SQLCommand 类插入一条 SQL 命令并执行它。这需要一些有关 SQL 语法的知识,但现在只需搜索您具体想要的命令类型,及时您就会掌握它。当您准备好写入或读取数据时,不要忘记关闭与数据库的连接。

        我希望这能给出主要思想。

        编辑:哦,对于这种数据库,SQL Server Compact 就足够了。

        【讨论】:

          猜你喜欢
          • 2020-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          • 1970-01-01
          • 2015-08-23
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多