亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dbfitter.cpp

?? VC++6.0壓縮ACCESS數據庫,壓縮數據庫
?? CPP
字號:
// DBFitter.cpp: implementation of the CDBFitter class.
// Auther : 
//				Hamed M.
// Contact:		
//				HamedMosavi@gmail.com
//				HamedMosavi@hotmail.com
//
// License:		You are free to Use, Modify, Copy, this 
//				program or it's source code. Since this 
//				program is licensed free of charge, there 
//				is no waranty for the program or its source code.
//
//				or as others say:	 This program is provided AS IS
//				WITHOUT  WARRANTY OF  ANY KIND, EITHER EXPRESSED OR 
//				IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
//				WARRANTIES  OF  MERCHANTABILITY  AND  FITNESS FOR A 
//				PARTICULAR  PURPOSE.  THE  ENTIRE  RISK  AS  TO THE 
//				QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
//
// Disclaimer:  I coppied the above lines(capital letter) from one of
//				those open-source licenses, it is hard to understand 
//				them to me!
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "DBFitter.h"

#import "D:\Program Files\Common Files\system\ado\msado15.dll" rename( "EOF", "MSADO_EOF" )
#import "D:\PROGRAM FILES\COMMON FILES\System\ado\MSJRO.DLL" no_namespace

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDBFitter::CDBFitter()
{
	m_szLastError = "No Error.";
}

CDBFitter::~CDBFitter()
{

}
// Gets a string as apath like 'C:\Hi.txt' and returns file name like: 'Hi.txt'
CString CDBFitter::GetFileName(CString szFullPath)
{
	if (szFullPath.GetLength()==0) {
		return "";
	}

	if (szFullPath.Right(0)=='\\' ) {
		return "";
	}

	int nFindex = szFullPath.ReverseFind('\\');

	if ( nFindex==-1 ) {
		return "";
	}

	return szFullPath.Right(szFullPath.GetLength() - nFindex -1);
}

// Compacts the database file with the path provided with 'szSrcDbPath'
// and copies the compacted file to 'szDstDbPath' the source database
// might or might not have 'szDbPassword' password, but destination
// file will have it.
// The source file will remain UNCOMPACTED, and UNREPAIRED.
BOOL CDBFitter::CompactAndRepair(CString szSrcDbPath, CString szDstDbPath, CString szDbPassword)
{
	if (szSrcDbPath==szDstDbPath) {
		AfxMessageBox("Source and destination can't be the same,\r\n Please use another form of this function with 2 inputs.");
		return FALSE;
	}

	CString	szDbCnn = "",						// To hold database connection string
			szDbTmpCnn = "";					// To hold temporary database connection string
	try
	{
		szDbCnn = "Provider=Microsoft.Jet.OLEDB.4.0;" // Define engine & version
				  "Data Source="+ szSrcDbPath + ";";	  // Define mdb file path
		if (szDbPassword.GetLength()>0) {			  // If password exists, add it
			szDbCnn += ";Jet OLEDB:Database Password=" + szDbPassword;
		}


		szDbTmpCnn = "Provider=Microsoft.Jet.OLEDB.4.0;"
					 "Data Source=" + szDstDbPath + ";"
					 "Jet OLEDB:Engine Type=5;";
		if (szDbPassword.GetLength()>0) {
			szDbTmpCnn += ";Jet OLEDB:Database Password=" + szDbPassword;
		}

		CoInitialize ( NULL );					// This is for COM, I don't understand it actually!

		IJetEnginePtr jet(__uuidof(JetEngine));	// Create a pointer to JetEngine interface

		BSTR									// 2 BSTR variable for the function input
		bszCnn = szDbCnn.AllocSysString(),
		bszTmpCnn = szDbTmpCnn.AllocSysString();

		jet->CompactDatabase(bszCnn, bszTmpCnn);// Do compact and repair database and -
												// create a (compacted) copy.

		SysFreeString(bszCnn);					// Free system allocated memory
		SysFreeString(bszTmpCnn);


		CoUninitialize();
	
	} catch(_com_error &e) {       
												// TODO:		((	WARNING ))
												// The following might lead to memory leak
	
												// UNDONE:
												// Call SysFreeString() , if exception happpend
												// after AllocSysString
		m_szLastError = (LPCTSTR)e.Description( );
		return FALSE;
	}

//	catch(...) {
	// UNDONE: Handle rest of the exceptions
//	}

	return TRUE;
}

// Compacts the database file with the path provided with 'szDbPath'
// The database 'szDbPath' might or might not have 'szDbPassword' 
// password, but destination file will have it just if you provide a
// password as function input.
// A file with the name 'acs_tmp_db_cmpct__rpr.mdb' will be created
// as a temporary file, In the same directory that database exsists
// So there must be enough room for both files and if there is a file
// with this name already, will be deleted.
BOOL CDBFitter::CompactAndRepair(CString szDbPath, CString szDbPassword)
{
	BOOL res;
	CString szTmpDbPath = "";				// To hold the path of the temporary created file

	szTmpDbPath = szDbPath;					// Create a path for a temporary file, just 
											// beside the original file

											// Remove file name to get the folder path
	szTmpDbPath.
		Replace(GetFileName(szDbPath),NULL);
											// A long file name, hoping there is not such 
											// a name already in the folder, or it will be
											// overwritten
	szTmpDbPath += "acs_tmp_db_cmpct__rpr.mdb";

	DeleteFile(szTmpDbPath);				// Delete temporary file, Make sure the file does 
											// NOT exsists before starting the process.

	res = CompactAndRepair(szDbPath, szTmpDbPath, szDbPassword);


	if (FileExists(szTmpDbPath)) {
		DeleteFile(szDbPath);					// Delete source file
		MoveFile(szTmpDbPath, szDbPath);		// Rename temp file to source file
	} else {
		res = FALSE;
		m_szLastError = "Could not find temporary"
			"file. Main file remaind unchanged";
	}

	return res;

}

// Compacts the database file with the path provided with 'szDbPath'
// The database 'szDbPath' should not have any password,
// A file with the name 'acs_tmp_db_cmpct__rpr.mdb' will be created
// as a temporary file, In the same directory that database exsists
// So there must be enough room for both files and if there is a file
// with this name already, it will be deleted.
BOOL CDBFitter::CompactAndRepair(CString szDbPath)
{
	return CompactAndRepair(szDbPath, "");
}

CString CDBFitter::GetLastErrString()
{
	return m_szLastError;
}

BOOL CDBFitter::FileExists(CString szPath)
{
	CFile f;
	CFileStatus fs;

	if (!f.GetStatus(szPath,fs)) {
		return FALSE;
	}

	return TRUE;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日高清视频| av高清久久久| 亚洲高清不卡在线观看| 91在线丨porny丨国产| 综合激情成人伊人| 欧美在线播放高清精品| 图片区小说区区亚洲影院| 欧美一区二区三区影视| 日韩精品久久理论片| 欧美一级欧美一级在线播放| 国产在线不卡一区| 国产精品福利一区| 欧美色爱综合网| 狠狠久久亚洲欧美| 亚洲欧洲精品一区二区精品久久久| 色综合久久久久久久久| 日韩精彩视频在线观看| 久久久久久久综合日本| 一本色道综合亚洲| 蜜桃久久久久久| 中文字幕第一页久久| 欧美图区在线视频| 国产精品一区二区黑丝| 亚洲欧美偷拍三级| 欧美草草影院在线视频| 99免费精品在线观看| 午夜影院久久久| 国产欧美精品国产国产专区| 色哟哟在线观看一区二区三区| 日韩成人午夜电影| 成人免费在线视频| 欧美一区三区四区| 99久久婷婷国产精品综合| 日韩av成人高清| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美日韩精品三区| 成人一区二区视频| 日韩成人免费电影| 亚洲精选视频免费看| 精品99久久久久久| 欧美性色aⅴ视频一区日韩精品| 美国十次综合导航| 亚洲综合久久av| 中文字幕高清一区| 日韩你懂的在线观看| 欧美亚洲综合网| 成人激情综合网站| 欧美三级日韩三级| 9久草视频在线视频精品| 蜜桃精品视频在线| 亚洲成人免费电影| 亚洲免费三区一区二区| 日本一区二区三级电影在线观看| 欧美日韩国产一级二级| 91蜜桃传媒精品久久久一区二区| 国精产品一区一区三区mba视频| 亚洲一区二区三区三| 亚洲人吸女人奶水| 国产精品亲子乱子伦xxxx裸| 26uuu亚洲| 日韩一区二区三区在线观看| 欧美猛男超大videosgay| 色噜噜偷拍精品综合在线| 成人精品鲁一区一区二区| 久久国产精品色婷婷| 日韩av在线发布| 午夜精品福利久久久| 亚洲午夜精品在线| 一区二区久久久久| 亚洲一区在线观看免费| 亚洲精品高清在线| 亚洲一区二区欧美| 亚洲一区免费在线观看| 亚洲一区免费视频| 亚洲动漫第一页| 婷婷开心久久网| 日韩精品成人一区二区在线| 日韩成人一级大片| 麻豆免费看一区二区三区| 日韩av一区二| 精品一区二区久久| 国产精华液一区二区三区| 国产成人在线网站| 成人av电影观看| 色婷婷亚洲婷婷| 欧美视频在线观看一区| 欧美日产国产精品| 欧美哺乳videos| 国产夜色精品一区二区av| 久久精品综合网| 成人欧美一区二区三区| 一区二区三区成人| 日韩影视精彩在线| 欧美日本一道本| 日韩欧美国产综合一区| 久久精品综合网| 亚洲免费观看高清完整版在线| 亚洲欧洲综合另类| 亚瑟在线精品视频| 狠狠色2019综合网| 91丨porny丨户外露出| 欧美亚洲日本一区| 精品精品欲导航| 国产精品成人一区二区艾草| 亚洲午夜精品17c| 久久精品99久久久| av午夜一区麻豆| 欧美日韩成人综合在线一区二区| 欧美mv和日韩mv的网站| 成人欧美一区二区三区黑人麻豆| 亚洲一卡二卡三卡四卡| 老司机精品视频在线| 99麻豆久久久国产精品免费| 91精品国产一区二区三区| 久久精品视频网| 亚洲午夜久久久久中文字幕久| 毛片一区二区三区| 91福利国产精品| 久久亚洲影视婷婷| 亚洲大片免费看| 成人av资源网站| 欧美成人女星排行榜| 亚洲人成伊人成综合网小说| 免播放器亚洲一区| 91天堂素人约啪| 久久久久久久久久电影| 亚洲国产精品自拍| 精品福利在线导航| 一区二区三区欧美在线观看| 国产精品一二三四五| 欧美午夜精品久久久久久孕妇| 国产日韩欧美高清| 美女一区二区三区在线观看| 91麻豆国产福利在线观看| 欧美成人福利视频| 午夜欧美电影在线观看| 99久久精品久久久久久清纯| 欧美大尺度电影在线| 亚洲在线成人精品| 成人av电影免费在线播放| 日韩一级黄色大片| 亚洲一区二区三区在线| 99久久久久久| 国产精品蜜臀av| 国产精品一区二区久激情瑜伽| 欧美一区二区三区电影| 亚洲国产精品影院| 在线看国产一区| 国产精品女主播在线观看| 激情综合五月天| 日韩欧美国产一区二区三区| 婷婷久久综合九色国产成人| 色老汉一区二区三区| 国产精品乱码久久久久久| 精品一区二区综合| 日韩精品最新网址| 看电视剧不卡顿的网站| 欧美人体做爰大胆视频| 亚洲va欧美va人人爽| 欧美视频一区二区三区四区| 亚洲精品视频免费看| 国产精品婷婷午夜在线观看| 精品一区二区三区蜜桃| 欧美成人一区二区三区片免费 | 欧美成人午夜电影| 午夜精品在线视频一区| 欧美日韩午夜精品| 亚洲sss视频在线视频| 欧美性做爰猛烈叫床潮| 亚洲一区二区三区影院| 欧美在线免费观看亚洲| 亚洲综合在线免费观看| 色婷婷久久久综合中文字幕| 亚洲视频免费看| 91成人免费网站| 性久久久久久久久久久久| 91精品国产入口| 久久精品国产免费看久久精品| 精品人伦一区二区色婷婷| 经典一区二区三区| 国产精品久久久久一区二区三区 | 久久精工是国产品牌吗| 精品国产乱码久久久久久影片| 精品一区精品二区高清| 国产色一区二区| 97精品视频在线观看自产线路二| 亚洲理论在线观看| 欧美挠脚心视频网站| 久久国产精品99精品国产| 久久人人爽人人爽| 91天堂素人约啪| 日韩成人免费看| 欧美国产精品v| 欧美性videosxxxxx| 日韩高清在线观看| 国产偷v国产偷v亚洲高清| 色狠狠桃花综合| 狠狠色综合日日| 亚洲欧洲另类国产综合| 欧美三级视频在线观看|