加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Unity SQLite本地数据库

发布时间:2020-12-15 22:14:28 所属栏目:百科 来源:网络整理
导读:我在Unity制作一个小游戏,我需要一个数据库.我尝试使用SQLite数据库,因为这似乎是网络推荐的. 现在我遇到了通过c#实际连接到本地数据库的麻烦. 我在SQLite .dll中实现了数据. 我试图从我使用SQLite开发人员创建的数据库中获取1个名称. 下面是我的DataConnect
我在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)SharpPlusSqliteDevGameDatabase.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的新手.

解决方法

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

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

请在第38行填空;

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读