1

我正在为一个班级开发一个游戏项目,我们可以在 XNA 和 Java 之间进行选择。选择使用 XNA 的团队是少数,而且很多讲座都以 Java 内容为中心——然而,讲座中的主要理论主题之一是我们使用数据库来访问数据,但这在理论上仅适用于各种软件工程实现选项,实际上并不是 XNA 的实际实现。

所以我们已经制作了我们的游戏,现在想要包含一个数据库 - 但是我发现 XNA 对 .mdb 或 .msaccess 文件不满意?特别是当我不断得到这样的事情时:

“无法自动检测要用于“Test.mdb”的导入器。没有处理此文件类型的导入器。请在项目中指定处理此文件类型的导入器。”

这让我完全陷入困境 - 很多在线解决方案都建议使用 SQL Server 数据库,但我什至不知道如何从非常基础的层面创建其中一个 - 我们中有 5 个人正在研究这个游戏并让每个人在我们剩下的时间内顺利安装 SQL Server 并不是最现实的选择。

还有其他基于 XNA 非服务器的数据库选项吗?如果不是,那么在我们的游戏中实现一个 SQL Server 数据库的最佳方法是什么,五个不同的人可以完美运行,他们可能都预装了不同的现有 SQL Server 版本?那还重要吗?我这样说是因为它在 ASP.NET 类中造成了相当大的影响。

在此先感谢,对于Access以外的数据库真的一无所知,认为这将是“使用System.Data.OleDb;”,导入文件并设置连接字符串的问题。

编辑:通过数据 > 添加新数据源,并按照说明,我已经能够尝试添加 MSACCESS 和 SQL Compact 数据库!呼呼,又近了一步。但是,我总是收到“无法获取 .dataset 的类型信息”错误:/ 好消息是至少生成了一个 NameDataSet.xsd 文件 - 这如何与查询字符串一起使用?我需要手动输入连接字符串吗?在没有先验知识的情况下开始并不多:(

4

1 回答 1

2

以这种方式使用访问确实是一个坏主意,它已经过时并且在现代设计、unicode 和在 64 位操作系统上工作时存在许多问题。

SQL server 也不是一个好主意,它只是一个错误的工具,你必须考虑为每个使用你的代码的人获取许可证。

在这一点上,我建议您考虑查看进程内数据库,例如 SqlLite 或 Firebird;但我认为目前更相关的事情是询问您希望数据库实际做什么?

如果你纯粹是用它来存储游戏的配置数据,那么它就太过分了。

最后,这本身不是 XNA 问题——如果数据库可以在 .Net 中使用,那么它将起作用。

于 2012-04-24T01:19:57.427 回答