예제 #1
0
        private void SaveToCacheDt(string Key, string FullPathToSave)
        {
            CreateCacheFolder();

            string FullPathCache = GetFullPathCacheDt(Key);

            if (!File.Exists(FullPathCache))
            {
                CreateDt(FullPathCache, false);
            }

            DataTable dt = new DataTable();

            dt.ReadXml(FullPathCache);

            string Criteria = "Key = '" + Key.Replace("'", "''") + "'";

            DataRow[] adr = dt.Select(Criteria);

            if (adr.Length > 0)
            {
                adr[0]["Content"] = CFile.GetByteFromFile(FullPathToSave);
            }
            else
            {
                DataRow dr = dt.NewRow();
                dr["Key"]     = Key;
                dr["Content"] = CFile.GetByteFromFile(FullPathToSave);
                dt.Rows.Add(dr);
            }

            dt.WriteXml(FullPathCache, XmlWriteMode.WriteSchema);
            dt = null;
        }
예제 #2
0
        private void SaveToCacheRs(string Key, string FullPathToSave)
        {
            CreateCacheFolder();

            string FullPathCache = GetFullPathCacheRs(Key);

            if (!File.Exists(FullPathCache))
            {
                CreateRs(FullPathCache, false);
            }

            Recordset Rs = new Recordset();

            Rs.Open(FullPathCache, Missing.Value, CursorTypeEnum.adOpenStatic, LockTypeEnum.adLockPessimistic, -1);

            string Criteria = "Key = '" + Key.Replace("'", "''") + "'";

            Rs.Find(Criteria, 0, SearchDirectionEnum.adSearchForward, Missing.Value);

            if (!Rs.EOF)
            {
                Rs.Fields["Content"].AppendChunk(CFile.GetByteFromFile(FullPathToSave));
            }
            else
            {
                Rs.AddNew(Missing.Value, Missing.Value);
                Rs.Fields["Key"].Value = Key;
                Rs.Fields["Content"].AppendChunk(CFile.GetByteFromFile(FullPathToSave));
            }

            Rs.Save(FullPathCache, PersistFormatEnum.adPersistXML);
            Rs.Close();
            Rs = null;
        }