0

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

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

非常感谢!

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

4

5 回答 5

5

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

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

一些有趣的链接:

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

于 2013-03-13T19:55:14.753 回答
0

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

看一下这个:

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

于 2013-03-13T19:55:22.900 回答
0

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

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

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

于 2013-03-13T19:57:47.420 回答
0

您可以使用实体框架

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

points =+ 100;
db.SaveChanges();

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

于 2013-03-13T20:00:25.180 回答
0

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

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

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

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

于 2013-03-13T20:00:58.147 回答