⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filemetadata.cpp

📁 安全文件传输
💻 CPP
字号:
#include "fileMetadata.h"#include <iostream>#include <string>#include <sstream>using namespace std;string int2str(int &i){	string s;	stringstream ss(s);	ss << i ;	return ss.str();}fileMetadata::fileMetadata(char* pathname){	fileResult = NULL;	ErrMsg = NULL;	db = NULL;	int rc = sqlite3_open(pathname,&db);	if( rc )	{		cout << "can't open database :" << sqlite3_errmsg(db) << endl;		sqlite3_close(db);		exit(1);	}	else cout << "your have opened a sqlite3 database " << endl;	string sql = "CREATE TABLE fileMetadata(fileName VARCHAR(20),fileTime VARCHAR(10),fileSize INTEGER);";	sqlite3_exec(db,sql.c_str(),0,0,&ErrMsg);}void fileMetadata::insertMetadata(char *fileName,char* fileTime,int fileSize){	string sql ="INSERT INTO \"fileMetadata\" VALUES(";	sql = sql +"'"+ fileName + "','" + fileTime + "',"+ int2str(fileSize)+");";	cout << sql << endl ;	sqlite3_exec(db,sql.c_str(),0,0,&ErrMsg);}void fileMetadata::deleteMetadata(char* fileName){	string sql = "DELETE FROM fileMetadata WHERE fileName =";	sql = sql + fileName + " ;";	cout << sql << endl ;}char** fileMetadata::getAllMetadata(int& nrow,int& ncolumn){		fileResult = NULL ;	nrow =0,ncolumn = 0;	string sql = "SELECT * FROM fileMetadata";	sqlite3_get_table(db,sql.c_str(),&fileResult,&nrow,&ncolumn,&ErrMsg);	return fileResult;}bool fileMetadata::upLoadMetadata(char *fileName,char* fileTime,int fileSize){		int nrow =0,ncolumn = 0;        string sql = "SELECT * FROM fileMetadata";        sqlite3_get_table(db,sql.c_str(),&fileResult,&nrow,&ncolumn,&ErrMsg);       	for(int i=3;i<(nrow+1)*ncolumn;i+=3)	{		if(!strcmp(fileResult[i],fileName))		{					cout << "the fileName is exist" << endl;			return false;		}	}	insertMetadata(fileName,fileTime,fileSize);		return true;}bool fileMetadata::downLoadMetadata(char* fileName){	        string sql = "SELECT * FROM fileMetadata";	int nrow =0,ncolumn =0;	sqlite3_get_table(db,sql.c_str(),&fileResult,&nrow,&ncolumn,&ErrMsg);	for(int i=3;i<(nrow+1)*ncolumn;i+=3)	{				if(!strcmp(fileResult[i],fileName))		{						return true;		}	}	 	return false;}char** fileMetadata::getFileMetadata(char* fileName){		int nrow =0,ncolumn = 0;        string sql = "SELECT * FROM fileMetadata";        sqlite3_get_table(db,sql.c_str(),&fileResult,&nrow,&ncolumn,&ErrMsg);        cout << nrow <<" "<<ncolumn << endl;      for(int i=3;i<(nrow+1)*ncolumn;i+=3)	{		if(!strcmp(fileResult[i],fileName))			return &fileResult[i];	}}fileMetadata::~fileMetadata(){		if(fileResult != NULL)		sqlite3_free_table(fileResult);	if(db != NULL )		sqlite3_close(db);		ErrMsg = NULL ;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -