【问题标题】:Connecting to a SQL database via unity script通过统一脚本连接到 SQL 数据库
【发布时间】:2018-11-30 19:01:26
【问题描述】:

我正在尝试通过使用统一 c# 脚本从 SQL 数据库中检索三个整数值。目前,由于连接线出错,我无法检索这些值。我不知道问题出在哪里,这是我第一次将 c# 与 SQL 结合使用。

下面是我目前使用的代码,

public class PositionUpdater : MonoBehaviour{

// Use this for initialization
public int Cordx;
public int Cordy;
void Start () {
    var RoomDB = new SqlConnection("Data Source=D:/Coursework 2, 2d ver/Assets/Plugins/Rooms Table.db");
    RoomDB.Open();
    SqlCommand CMD = new SqlCommand("select Dpos1, Dpos2, DRot1 from tblRoom where Roomx=@Cordx and Roomy=@Cordy", RoomDB);
    CMD.Parameters.AddWithValue("@Cordx", Cordx);
    CMD.Parameters.AddWithValue("@Cordy", Cordy);
    using(var reader = CMD.ExecuteReader()){
        int Positionx = Convert.ToInt32(reader["Dpos1"]);
        int Positiony = Convert.ToInt32(reader["Dpos2"]);
        int Rotation = Convert.ToInt32(reader["Dpos1"]);
        print(Positionx);
    }

}

}

【问题讨论】:

  • Assets\\Plugins\\Rooms Table.db 不是标准的 sql 连接字符串。你设置的Sql数据库的连接字符串是什么?
  • 这就是我所有的连接字符串,我的数据库是一个非常简单的本地数据库,存储在 Assets\Plugins\Rooms Table.db 目录中。它是一个简单的 1 表数据库。我以前从未写过这样的连接字符串,我发现的所有教程都使用托管在互联网上的数据库。
  • 使用Assets\Plugins\Rooms Table.db 并删除双 `\` 怎么样?另请注意,大多数文件 IO 必须在 StreamingAssets、Resources 或持久数据路径中完成
  • 您是如何“创建”本地数据库的?通常它类似于安装 Sqlserver Express(或类似的东西)并将其托管在您的计算机上。 .db 文件实际上并不是您可以连接的数据库,它只是一个文件。
  • 我的数据库是通过 python 脚本创建的,我通过其他 python 脚本访问数据没有问题。此外,当我删除双斜杠时,我得到一个编译器错误。

标签: c# sql unity3d sqlite


【解决方案1】:

它不起作用的原因是我应该使用 Sqliteconnection。如果其他人对这些东西不熟悉,这是我遵循的教程。https://ornithoptergames.com/how-to-set-up-sqlite-for-unity/

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多