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; }
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; }