@@ -154,7 +154,7 @@ BOOL CXStorage_MySql::XStorage_MySql_FileInsert(XSTORAGECORE_DBFILE *pSt_DBFile)
154154 _stprintf_s (tszTableName, _T (" %04d%02d" ), st_LibTimer.wYear , st_LibTimer.wMonth );
155155 }
156156 // 插入语句
157- _stprintf_s (tszSQLStatement, _T (" INSERT INTO `%s` (FilePath,FileName,FileHash,FileUser,FileSize,FileTime) VALUES('%s','%s','%s','%s',% lld,now())" ), tszTableName, pSt_DBFile->st_ProtocolFile .tszFilePath , pSt_DBFile->st_ProtocolFile .tszFileName , pSt_DBFile->st_ProtocolFile .tszFileHash , pSt_DBFile->st_ProtocolFile .tszFileUser , pSt_DBFile->st_ProtocolFile .nFileSize );
157+ _stprintf_s (tszSQLStatement, _T (" INSERT INTO `%s` (PathKey, FilePath,FileName,FileHash,FileUser,FileSize,FileTime) VALUES('%s','%s','%s','%s','%s',% lld,now())" ), tszTableName, pSt_DBFile-> tszPathKey , pSt_DBFile->st_ProtocolFile .tszFilePath , pSt_DBFile->st_ProtocolFile .tszFileName , pSt_DBFile->st_ProtocolFile .tszFileHash , pSt_DBFile->st_ProtocolFile .tszFileUser , pSt_DBFile->st_ProtocolFile .nFileSize );
158158 if (!DataBase_MySQL_Execute (xhDBSQL, tszSQLStatement))
159159 {
160160 XStorage_IsErrorOccur = TRUE ;
@@ -353,29 +353,33 @@ BOOL CXStorage_MySql::XStorage_MySql_FileQuery(XSTORAGECORE_DBFILE*** pppSt_List
353353
354354 _tcscpy (st_DBFile.tszTableName , pptszResult[0 ]);
355355
356- if (NULL != pptszFileResult[1 ])
356+ if (NULL != pptszFileResult[1 ])
357+ {
358+ _tcscpy (st_DBFile.tszPathKey , pptszFileResult[1 ]);
359+ }
360+ if (NULL != pptszFileResult[2 ])
357361 {
358- _tcscpy (st_DBFile.st_ProtocolFile .tszFilePath , pptszFileResult[1 ]);
362+ _tcscpy (st_DBFile.st_ProtocolFile .tszFilePath , pptszFileResult[2 ]);
359363 }
360- if (NULL != pptszFileResult[2 ])
364+ if (NULL != pptszFileResult[3 ])
361365 {
362- _tcscpy (st_DBFile.st_ProtocolFile .tszFileName , pptszFileResult[2 ]);
366+ _tcscpy (st_DBFile.st_ProtocolFile .tszFileName , pptszFileResult[3 ]);
363367 }
364- if (NULL != pptszFileResult[3 ])
368+ if (NULL != pptszFileResult[4 ])
365369 {
366- _tcscpy (st_DBFile.st_ProtocolFile .tszFileHash , pptszFileResult[3 ]);
370+ _tcscpy (st_DBFile.st_ProtocolFile .tszFileHash , pptszFileResult[4 ]);
367371 }
368- if (NULL != pptszFileResult[4 ])
369- {
370- _tcscpy (st_DBFile.st_ProtocolFile .tszFileUser , pptszFileResult[4 ]);
371- }
372372 if (NULL != pptszFileResult[5 ])
373373 {
374- st_DBFile.st_ProtocolFile .nFileSize = _ttoi64 ( pptszFileResult[5 ]);
374+ _tcscpy ( st_DBFile.st_ProtocolFile .tszFileUser , pptszFileResult[5 ]);
375375 }
376376 if (NULL != pptszFileResult[6 ])
377377 {
378- _tcscpy (st_DBFile.st_ProtocolFile .tszFileTime , pptszFileResult[6 ]);
378+ st_DBFile.st_ProtocolFile .nFileSize = _ttoi64 (pptszFileResult[6 ]);
379+ }
380+ if (NULL != pptszFileResult[7 ])
381+ {
382+ _tcscpy (st_DBFile.st_ProtocolFile .tszFileTime , pptszFileResult[7 ]);
379383 }
380384 stl_ListFile.push_back (st_DBFile);
381385 }
@@ -457,29 +461,34 @@ BOOL CXStorage_MySql::XStorage_MySql_FileQueryForTable(XSTORAGECORE_DBFILE*** pp
457461 TCHAR** pptszFileResult = DataBase_MySQL_GetResult (xhDBSQL, xhTable);
458462
459463 _tcscpy ((*pppSt_ListFile)[i]->tszTableName , lpszTableName);
464+
460465 if (NULL != pptszFileResult[1 ])
461466 {
462- _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile . tszFilePath , pptszFileResult[1 ]);
467+ _tcscpy ((*pppSt_ListFile)[i]->tszPathKey , pptszFileResult[1 ]);
463468 }
464469 if (NULL != pptszFileResult[2 ])
465470 {
466- _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFileName , pptszFileResult[2 ]);
471+ _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFilePath , pptszFileResult[2 ]);
467472 }
468473 if (NULL != pptszFileResult[3 ])
469474 {
470- _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFileHash , pptszFileResult[3 ]);
475+ _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFileName , pptszFileResult[3 ]);
471476 }
472477 if (NULL != pptszFileResult[4 ])
473478 {
474- _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFileUser , pptszFileResult[4 ]);
479+ _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFileHash , pptszFileResult[4 ]);
475480 }
476481 if (NULL != pptszFileResult[5 ])
477482 {
478- ( *pppSt_ListFile)[i]->st_ProtocolFile .nFileSize = _ttoi64 ( pptszFileResult[5 ]);
483+ _tcscpy (( *pppSt_ListFile)[i]->st_ProtocolFile .tszFileUser , pptszFileResult[5 ]);
479484 }
480485 if (NULL != pptszFileResult[6 ])
481486 {
482- _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFileTime , pptszFileResult[6 ]);
487+ (*pppSt_ListFile)[i]->st_ProtocolFile .nFileSize = _ttoi64 (pptszFileResult[6 ]);
488+ }
489+ if (NULL != pptszFileResult[7 ])
490+ {
491+ _tcscpy ((*pppSt_ListFile)[i]->st_ProtocolFile .tszFileTime , pptszFileResult[7 ]);
483492 }
484493 }
485494 DataBase_MySQL_FreeResult (xhDBSQL, xhTable);
@@ -582,29 +591,34 @@ BOOL CXStorage_MySql::XStorage_MySql_FileQueryForHash(XSTORAGECORE_DBFILE* pSt_F
582591 TCHAR** pptszFileResult = DataBase_MySQL_GetResult (xhDBSQL, xhResult);
583592
584593 _tcscpy (pSt_FileInfo->tszTableName , pptszResult[0 ]);
585- if (NULL != pptszFileResult[1 ])
586- {
587- _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFilePath , pptszFileResult[1 ]);
588- }
594+
595+ if (NULL != pptszFileResult[1 ])
596+ {
597+ _tcscpy (pSt_FileInfo->tszPathKey , pptszFileResult[1 ]);
598+ }
589599 if (NULL != pptszFileResult[2 ])
590600 {
591- _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFileName , pptszFileResult[2 ]);
601+ _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFilePath , pptszFileResult[2 ]);
592602 }
593603 if (NULL != pptszFileResult[3 ])
594604 {
595- _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFileUser , pptszFileResult[3 ]);
605+ _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFileName , pptszFileResult[3 ]);
596606 }
597607 if (NULL != pptszFileResult[4 ])
598608 {
599- pSt_FileInfo->st_ProtocolFile .nFileSize = _ttoi64 ( pptszFileResult[4 ]);
609+ _tcscpy ( pSt_FileInfo->st_ProtocolFile .tszFileUser , pptszFileResult[4 ]);
600610 }
601611 if (NULL != pptszFileResult[5 ])
602612 {
603- _tcscpy ( pSt_FileInfo->st_ProtocolFile .tszFileHash , pptszFileResult[5 ]);
613+ pSt_FileInfo->st_ProtocolFile .nFileSize = _ttoi64 ( pptszFileResult[5 ]);
604614 }
605615 if (NULL != pptszFileResult[6 ])
606616 {
607- _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFileTime , pptszFileResult[6 ]);
617+ _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFileHash , pptszFileResult[6 ]);
618+ }
619+ if (NULL != pptszFileResult[7 ])
620+ {
621+ _tcscpy (pSt_FileInfo->st_ProtocolFile .tszFileTime , pptszFileResult[7 ]);
608622 }
609623 bFound = TRUE ;
610624 break ;
@@ -622,72 +636,6 @@ BOOL CXStorage_MySql::XStorage_MySql_FileQueryForHash(XSTORAGECORE_DBFILE* pSt_F
622636 }
623637 return TRUE ;
624638}
625- /* *******************************************************************
626- 函数名称:XStorage_MySql_FileGetCount
627- 函数功能:获取数据库中文件总个数和总大小
628- 参数.一:pInt_Count
629- In/Out:Out
630- 类型:64位整数型指针
631- 可空:N
632- 意思:导出获取到的文件个数
633- 参数.二:pInt_Size
634- In/Out:Out
635- 类型:64位整数型指针
636- 可空:N
637- 意思:导出获取到的文件大小,单位字节(BYTE)
638- 返回值
639- 类型:逻辑型
640- 意思:是否成功
641- 备注:
642- *********************************************************************/
643- BOOL CXStorage_MySql::XStorage_MySql_FileGetCount (__int64x *pInt_Count, __int64x *pInt_Size)
644- {
645- XStorage_IsErrorOccur = FALSE ;
646-
647- if ((NULL == pInt_Count) || (NULL == pInt_Size))
648- {
649- XStorage_IsErrorOccur = TRUE ;
650- XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_GETCOUNT_PARAMENT;
651- return FALSE ;
652- }
653- __int64u nllRow = 0 ;
654- __int64u nllColumn = 0 ;
655- TCHAR tszSQLStatement[1024 ]; // SQL语句
656- memset (tszSQLStatement, ' \0 ' , sizeof (tszSQLStatement));
657-
658- _stprintf_s (tszSQLStatement, _T (" SELECT * FROM `XStorage_Count`" ));
659- // 查询
660- XHDATA xhResult = 0 ;
661- if (!DataBase_MySQL_ExecuteQuery (xhDBSQL, &xhResult, tszSQLStatement, &nllRow, &nllColumn))
662- {
663- XStorage_IsErrorOccur = TRUE ;
664- XStorage_dwErrorCode = DataBase_GetLastError ();
665- return FALSE ;
666- }
667- if (nllRow <= 0 )
668- {
669- XStorage_IsErrorOccur = TRUE ;
670- XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_GETCOUNT_BROKE;
671- return FALSE ;
672- }
673- // 获取记录集
674- TCHAR **pptszResult = DataBase_MySQL_GetResult (xhDBSQL, xhResult);
675- if (NULL == pptszResult[0 ])
676- {
677- return FALSE ;
678- }
679- if (NULL != pptszResult[1 ])
680- {
681- *pInt_Count = _ttoi64 (pptszResult[1 ]);
682- }
683- if (NULL != pptszResult[2 ])
684- {
685- *pInt_Size = _ttoi64 (pptszResult[2 ]);
686- }
687- DataBase_MySQL_FreeResult (xhDBSQL, xhResult);
688-
689- return TRUE ;
690- }
691639// ////////////////////////////////////////////////////////////////////////
692640// 保护函数
693641// ////////////////////////////////////////////////////////////////////////
@@ -727,6 +675,7 @@ BOOL CXStorage_MySql::XStorage_MySql_CreateTable()
727675
728676 _stprintf_s (tszSQLQuery, _T (" CREATE TABLE IF NOT EXISTS `%s` ("
729677 " `ID` int NOT NULL AUTO_INCREMENT COMMENT 'ID序号',"
678+ " `PathKey` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '路径KEY',"
730679 " `FilePath` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件路径',"
731680 " `FileName` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件名称',"
732681 " `FileHash` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件HASH',"
0 commit comments