gpt4 book ai didi

c# - unity SQLite 本地数据库

转载 作者:太空宇宙 更新时间:2023-11-03 10:43:08 27 4
gpt4 key购买 nike

我正在 Unity 中制作一个小游戏,我需要一个数据库。我尝试使用 SQLite 数据库,因为网络似乎推荐它。

现在我在通过 C# 连接到本地数据库时遇到了问题。

我在 SQLite .dll 中实现了数据。我正在尝试从使用 SQLite 开发人员创建的数据库中获取 1 个名称。

下面是我的 DataConnection 类,我用它来连接到数据库。

using UnityEngine;
using System.Collections;
using System.Data;
using Mono.Data.SqliteClient;

public class Dataconnection : MonoBehaviour {

private string _constr = @"Data Source=C:\Program Files (x86)\SharpPlus\SqliteDev\GameDatabase.db;Version=3;";
private IDbConnection _dbc;
private IDbCommand _dbcm;
private IDataReader _dbr;


public Dataconnection()
{

}

public Dataconnection(string constring)
{
_constr = constring;
}

public string ExcecuteQuery(string SQL)
{
string output = "";

try
{
_dbc = new SqliteConnection(_constr);
_dbc.Open();
_dbcm = _dbc.CreateCommand();
_dbcm.CommandText = SQL;
_dbr = _dbcm.ExecuteReader();
}
catch
{

}

while (_dbr.Read())
{
output = _dbr.GetString(0);
}

_dbc.Close();

return output;
}
}

然后我从另一个类中调用以下方法:

datacon.ExcecuteQuery("SELECT name FROM employee WHERE empid = 1;");

运行代码时出现以下错误:

enter image description here

所以我猜它与 32/64 位不匹配有关,或者创建这样的脚本实例有问题吗?:

private Dataconnection datacon;

void Start()
{
datacon = new Dataconnection();
}

很高兴收到任何帮助。我熟悉使用数据库,只是 SQLite 的新手。

最佳答案

它说它无法加载 native sqlite.dll 因为你有 64 位版本而它需要 32 位

将其放在您的应用程序文件夹中 https://www.sqlite.org/2015/sqlite-dll-win32-x86-3081001.zip

请用 throw 填充第 38 行的那个空的 catch;

因为那里隐藏了一个异常,这是空引用的真正原因。

您也可以发布您的连接字符串,这样我就可以更好地回答这个问题。

关于c# - unity SQLite 本地数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30279715/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com