Ejemplo n.º 1
0
        /// <summary>
        /// 获取数据库
        /// </summary>
        private void GetSqliteContext()
        {
            string sourceDbPath = Path.Combine(MD5AccountPath, "DB", "MM.sqlite");
            var    recoveryDb   = SqliteRecoveryHelper.DataRecovery(sourceDbPath, @"chalib\IOS_TencentWeiXin_V5.3\MM.sqlite.charactor", RecoveryTables(sourceDbPath), true);

            MainContext = new SqliteContext(recoveryDb);

            string sourceFtsPath = Path.Combine(MD5AccountPath, "fts", "fts_message.db");

            if (File.Exists(sourceFtsPath))
            {
                try
                {
                    Dictionary <string, string> dicIndex = new Dictionary <string, string>();
                    dicIndex.Add("fts_username_id", "UsrName");

                    FtsContext = new SqliteContext(SqliteRecoveryHelper.DataRecovery(
                                                       sourceFtsPath, @"chalib\IOS_TencentWeiXin_V5.3\fts_message.db.charactor", _ftsMsgTables + ",fts_username_id", "", "", true, dicIndex));
                    FtsContext.MergeTables(_ftsMsgTables, _ftsMsgNewTable, "IndexNameId", "c0usernameid");
                }
                catch
                {
                    FtsContext = null;
                }
            }
        }