/// <summary> /// 增加一条HASH纪录 /// </summary> public static int AddNewHash(HASHTYPE thetype, HASHITEM thehash, int thedetailID, int isHanzhi) { try { StringBuilder strSql = new StringBuilder(); { //添加工作计划 string tempstr = string.Format("insert into H31_DHT_TYPE_{0}_{1} (", (int)thetype * 100 + 1, isHanzhi); strSql.Append(tempstr); strSql.Append("hashKey,recvTime,updateTime,keyContent,KeyWords,keyType,recvTimes,fileCnt,filetotalSize,Detail)"); strSql.Append(" values ("); strSql.Append("@hashKey,@recvTime,@updateTime,@keyContent,@KeyWords,@keyType,@recvTimes,@fileCnt,@filetotalSize,@Detail)"); DbParameter[] cmdParms = { dbsql.CreateInDbParameter("@hashKey", DbType.String, 40, thehash.hashKey), dbsql.CreateInDbParameter("@recvTime", DbType.DateTime, thehash.recvTime), dbsql.CreateInDbParameter("@updateTime", DbType.DateTime, thehash.recvTime), dbsql.CreateInDbParameter("@keyContent", DbType.String, thehash.keyContent), dbsql.CreateInDbParameter("@KeyWords", DbType.String, thehash.keyWords), dbsql.CreateInDbParameter("@keyType", DbType.Int32, thehash.keyType), dbsql.CreateInDbParameter("@recvTimes", DbType.Int32, thehash.recvTimes), dbsql.CreateInDbParameter("@fileCnt", DbType.Int32, thehash.fileCnt), dbsql.CreateInDbParameter("@filetotalSize", DbType.Double, Convert.ToDouble(thehash.filetotalSize)), dbsql.CreateInDbParameter("@Detail", DbType.Int32, thedetailID) }; int res = dbsql.ExecuteNonQuery(CommandType.Text, strSql.ToString(), cmdParms); if (res == 1) { string tempstr2 = string.Format("select top 1 id from H31_DHT_TYPE_{0}_{1} where hashKey='{2}' order by id desc", (int)thetype * 100 + 1, isHanzhi, thehash.hashKey); object countid = dbsql.ExecuteScalar(CommandType.Text, tempstr2.ToString(), null); if (countid == null) { return(0); } return((int)countid); } } } catch (System.Exception ex) { H31Debug.PrintLn(ex.StackTrace); } return(-1); }
/// <summary> /// ����һ��HASH��¼ /// </summary> public static int AddNewHash(HASHTYPE thetype,HASHITEM thehash,int thedetailID,int isHanzhi) { try { StringBuilder strSql = new StringBuilder(); { //��ӹ����ƻ� string tempstr = string.Format("insert into H31_DHT_TYPE_{0}_{1} (", (int)thetype * 100 + 1, isHanzhi); strSql.Append(tempstr); strSql.Append("hashKey,recvTime,updateTime,keyContent,KeyWords,keyType,recvTimes,fileCnt,filetotalSize,Detail)"); strSql.Append(" values ("); strSql.Append("@hashKey,@recvTime,@updateTime,@keyContent,@KeyWords,@keyType,@recvTimes,@fileCnt,@filetotalSize,@Detail)"); DbParameter[] cmdParms = { dbsql.CreateInDbParameter("@hashKey",DbType.String,40,thehash.hashKey), dbsql.CreateInDbParameter("@recvTime", DbType.DateTime,thehash.recvTime), dbsql.CreateInDbParameter("@updateTime", DbType.DateTime,thehash.recvTime), dbsql.CreateInDbParameter("@keyContent", DbType.String,thehash.keyContent), dbsql.CreateInDbParameter("@KeyWords", DbType.String,thehash.keyWords), dbsql.CreateInDbParameter("@keyType", DbType.Int32,thehash.keyType), dbsql.CreateInDbParameter("@recvTimes", DbType.Int32,thehash.recvTimes), dbsql.CreateInDbParameter("@fileCnt", DbType.Int32,thehash.fileCnt), dbsql.CreateInDbParameter("@filetotalSize", DbType.Double,Convert.ToDouble(thehash.filetotalSize)), dbsql.CreateInDbParameter("@Detail", DbType.Int32,thedetailID) }; int res=dbsql.ExecuteNonQuery(CommandType.Text, strSql.ToString(), cmdParms); if (res == 1) { string tempstr2 = string.Format("select top 1 id from H31_DHT_TYPE_{0}_{1} where hashKey='{2}' order by id desc", (int)thetype * 100 + 1, isHanzhi, thehash.hashKey); object countid = dbsql.ExecuteScalar(CommandType.Text, tempstr2.ToString(), null); if (countid == null) return 0; return (int)countid; } } } catch (System.Exception ex) { H31Debug.PrintLn(ex.StackTrace); } return -1; }
/// <summary> /// 检测文件类型 /// </summary> private HASHTYPE GetHashFileKeyType(ref TorrentFile myFile) { HASHTYPE type1 = HASHTYPE.OTHER; List <HASHTYPE> typelist = new List <HASHTYPE>(); for (int m = 0; m < myFile.TorrentFileInfo.Count; m++) { string str1 = myFile.TorrentFileInfo[m].Path; //获取后缀名 int dotIndex = str1.LastIndexOf('.'); string extName = str1.Substring(dotIndex + 1, str1.Length - dotIndex - 1).ToUpper(); if (extName == "RMVB" || extName == "AVI" || extName == "RM" || extName == "OGM" || extName == "MP4" || extName == "MKV" || extName == "FLV" || extName == "MPEG" || extName == "WMA" || extName == "ASF" || extName == "WMV" || extName == "MOV" || extName == "DAT" || extName == "BDMV" || extName == "CLPI" || extName == "M2TS" || extName == "VOB" || extName == "VCD" || extName == "DSF" || extName == "MPG" || extName == "DIVX" || extName == "TS" || extName == "TP") { type1 = HASHTYPE.MOVIE; typelist.Add(type1); break; } else if (extName == "MP3" || extName == "MID" || extName == "APE" || extName == "AAC" || extName == "WAV" || extName == "WMA" || extName == "VOC" || extName == "FLAC" || extName == "M4A") { type1 = HASHTYPE.MUSIC; } else if (extName == "CHM" || extName == "EPUB" || extName == "PDF" || extName == "DOC" || extName == "TXT" || extName == "DOCX" || extName == "PPT" || extName == "PPTX" || extName == "XLS" || extName == "XLSX" || extName == "PDG" || extName == "FB2" || extName == "CBZ") { type1 = HASHTYPE.BOOK; } else if (extName == "EXE" || extName == "BIN" || extName == "COM" || extName == "BAT" || extName == "RAR" || extName == "ZIP" || extName == "7z" || extName == "ISO" || extName == "MSI" || extName == "TAR" || extName == "LZH" || extName == "TGZ" || extName == "OCX" || extName == "SFV" || extName == "MDF" || extName == "DMG") { type1 = HASHTYPE.EXE; } else if (extName == "BMP" || extName == "GIF" || extName == "PNG" || extName == "JPG" || extName == "RAW" || extName == "TIF" || extName == "PSD") { type1 = HASHTYPE.PICTURE; } else { type1 = HASHTYPE.OTHER; } typelist.Add(type1); } if (typelist.Contains(HASHTYPE.MOVIE)) { type1 = HASHTYPE.MOVIE; } else if (typelist.Contains(HASHTYPE.MUSIC)) { type1 = HASHTYPE.MUSIC; } else if (typelist.Contains(HASHTYPE.BOOK)) { type1 = HASHTYPE.BOOK; } else if (typelist.Contains(HASHTYPE.EXE)) { type1 = HASHTYPE.EXE; } else if (typelist.Contains(HASHTYPE.PICTURE)) { type1 = HASHTYPE.PICTURE; } else { type1 = HASHTYPE.OTHER; } return(type1); }