[基础常用] Unity[C#]中使用SqLite需要注意的问题

请注意博客发布时间及相关内容版本。


前些天奉命研究SqLite,但说实话,以我现在对数据库知识还停留在仅能看懂SQL语句的这种程度,关于怎么连接数据库,以及里面的工作原理是一窍不通的。


所以我只能借助在网络上查找这类知识,比较幸运的是这类内容还是比较多的,雨松之前也写过相关的教程。


但当我按照教程进行实际操作的时候却出现了问题,那些教程多数已经过于久远,虽然大体方向依旧不变,但在细节上的不同是更让人头疼的。


首先要导入相应的SqLite所需DLL,这里我导入了三个DLL和一个DEF文件,分别是

System.Data.dll            836 KB

sqlite3.dll                     1713 KB

Mono.Data.Sqlite.dll    166 KB

sqlite3.def                    6 KB

这里就要注意了,敲黑板,划重点,这几个DLL有多种版本,我们必须使用可以配套兼容的才可以正常操作SqLite。


我并不知道自己使用的是什么版本,但实测可用,所以我将他们,打包在一起上传上来了,

百度网盘链接


我之前按照网上几种给的老版的DLL,在连接数据库方法调用后始终拿不到对象,相当郁闷,后来在Unity文件夹下一搜才发现有好多大小或不相同的同名文件,这说明有很多版本的DLL,但网上通常不会说到这个问题,希望能分享一下我在这里卡坑的经验。


将上面的DLL放入Unity的Assets下后,就可以调用SqLite了,调用封装我这里就直接引用雨松的代码,感谢雨松~

(这个对象不继承MonoBehaviour)

using UnityEngine;
using System;
using System.Collections;

using Mono.Data.Sqlite;

public class DBAccess
{

    private SqliteConnection m_dbConnection;

    private SqliteCommand m_dbCommand;

    private SqliteDataReader m_dbReader;

    /// <summary>
    /// 构造
    /// </summary>
    /// <param name="dbFilePath">db文件位置</param>
    public DBAccess(string dbFilePath)
    {
        try
        {
            string t_strConnectionPath = "URI=file:" + Application.dataPath + "/" + dbFilePath;
            m_dbConnection = new SqliteConnection(t_strConnectionPath);
            m_dbConnection.Open();
            Debug.Log("Connected to db");
        }
        catch (Exception ex)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值