Example #1
0
    public static void OpenLocalDB()
    {
        if (!File.Exists(DBLocalPath))
        {
            FileStream fs = File.Create(DBLocalPath);
            fs.Close();
            fs.Dispose();
            mLocalDBInstance = CDataBaseManager.GetDBInstance(DBLocalPath);
            if (mLocalDBInstance.BeginTransaction())
            {
                mLocalDBInstance.CreateTable("unforceTable",
                                             new string[] {
                    "path",
                    "md5",
                    "romote",
                    "size"
                },

                                             new string[] {
                    "TEXT NOT NULL",
                    "INTEGER NOT NULL UNIQUE",
                    "INTEGER NOT NULL",
                    "INTEGER NOT NULL"
                });
                mLocalDBInstance.EndTransaction();
            }
        }
        else
        {
            mLocalDBInstance = CDataBaseManager.GetDBInstance(DBLocalPath);
        }
    }
Example #2
0
 /// <summary>
 /// 写入信息
 /// </summary>
 /// <param name="tableName"></param>
 /// <param name="valueArray"></param>
 public static void InsertInfo(CDBInstance db, string tableName, string[] valueArray)
 {
     if (db.BeginTransaction())
     {
         db.InsertInto(tableName, valueArray);
         db.EndTransaction();
     }
 }
Example #3
0
    public static bool CloseDB(string path)
    {
        CDBInstance result = null;

        if (m_DicDataBase.TryGetValue(path, out result))
        {
            result.Close();
            m_DicDataBase.Remove(path);
            result = null;
            return(true);
        }

        return(false);
    }
Example #4
0
    public override void OnEndExcute()
    {
        if (IsSuccess())
        {
            //更新数据库信息
            CDBInstance  localDB = DBVersionManager.GetLocalDBInstance();
            DataBaseInfo info    = DBVersionManager.GetDataInfo(path);
            switch (versionEnum)
            {
            case DBVersionEnum.Insert:
                DBVersionManager.InsertInfo(localDB, "unforceTable", new string[] {
                    "'" + path + "'",
                    "'" + info.md5 + "'",
                    info.romote.ToString(),
                    info.size.ToString()
                });
                break;

            case DBVersionEnum.Update:
                DBVersionManager.UpdateInfo(localDB, "unforceTable",
                                            new string[] {
                    "md5",
                    "romote",
                    "size"
                },
                                            new string[] {
                    "'" + info.md5 + "'",
                    info.romote.ToString(),
                    info.size.ToString()
                }, "path", "'" + path + "'");
                break;
            }
            if (null != result && 0 < result.Length)
            {
                AssetBundle ab = AssetBundle.LoadFromMemory(result);
                target = ab.LoadAsset(name, typeof(AudioClip)) as AudioClip;
                Debug.LogError(target);
            }
            AysnResManager.Instance.AddAudio(path, target);
            AysnResManager.Instance.RemoveFromLoading(path);
            target = null;
        }

        base.OnEndExcute();
    }
Example #5
0
    public static CDBInstance GetDBInstance(string path)
    {
        if (string.IsNullOrEmpty(path))
        {
            return(null);
        }

        CDBInstance result = null;

        if (m_DicDataBase.TryGetValue(path, out result))
        {
            return(result);
        }

        result = new CDBInstance(path);
        m_DicDataBase.Add(path, result);

        return(result);
    }
Example #6
0
    /// <summary>
    /// 根据路径获取本地数据库信息
    /// </summary>
    /// <param name="path"></param>
    /// <returns></returns>
    public static DataBaseInfo GetDataInfo(CDBInstance db, string path)
    {
        if (string.IsNullOrEmpty(path))
        {
            return(null);
        }

        string resVal = path.ToLower();

        SqliteDataReader reader = db.ExecuteQuery(string.Format(Sql_Query_Info, resVal));

        if (null != reader && reader.Read())
        {
            DataBaseInfo result = new DataBaseInfo();

            result.md5    = reader.GetString(0);
            result.romote = reader.GetInt32(1);
            result.size   = reader.GetInt32(2);

            return(result);
        }

        return(null);
    }
Example #7
0
 /// <summary>
 /// 修改信息
 /// </summary>
 /// <param name="tableName"></param>
 /// <param name="cols"></param>
 /// <param name="colsvalues"></param>
 /// <param name="selectkey"></param>
 /// <param name="selectvalue"></param>
 public static void UpdateInfo(CDBInstance db, string tableName, string[] cols, string[] colsvalues, string selectkey, string selectvalue)
 {
     db.UpdateInto(tableName, cols, colsvalues, selectkey, selectvalue);
 }