Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 统一SQLite本地数据库_C#_Android_Database_Sqlite_Unity3d - Fatal编程技术网

C# 统一SQLite本地数据库

C# 统一SQLite本地数据库,c#,android,database,sqlite,unity3d,C#,Android,Database,Sqlite,Unity3d,我正在Unity制作一个小游戏,我需要一个数据库。我尝试使用SQLite数据库,因为这似乎是网络推荐的 现在我在通过c#连接到本地数据库时遇到了问题 我在SQLite.dll中实现了数据。 我试图从使用SQLite developer创建的数据库中获取1个名称 下面是我的DataConnection类,我用它连接数据库 using UnityEngine; using System.Collections; using System.Data; using Mono.Data.SqliteCli

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

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

我在SQLite.dll中实现了数据。 我试图从使用SQLite developer创建的数据库中获取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;");
我在运行代码时遇到以下错误:

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

private Dataconnection datacon;

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

很高兴得到任何帮助。我熟悉使用数据库,只是对SQLite比较陌生。

它说它无法加载原生SQLite.dll,因为您有64位版本,它需要32位

将此文件放在你的应用程序文件夹中

请在第38行的空位上填上一掷

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


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

我现在可以使用了。问题是我发现其中一个SQLite.dll仍然是32位的。我重复了一遍教程,在谷歌上搜索了64位的.dll文件,现在它开始工作了。

谢谢,解决了其中一个错误,现在我仍然有NullReferenceException错误。知道如何解决这个问题吗?连接字符串:@“数据源=C:\ProgramFiles(x86)\SharpPlus\SqliteDev\GameDatabase.db;版本=3;”;你是对的,异常给了我“不正确的连接字符串”。我的绳子一定有毛病。顺便说一句,它在我的dataconnection.cs中。我将数据库移动到\documents\并相应地连接,但它似乎仍然不起作用。我检查了它,它仍然是一样的。我一直收到NullReference异常错误。