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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? translate.cpp

?? GemoMedia 應(yīng)用 演示了其使用方法
?? CPP
字號(hào):
// Translate.cpp: implementation of the CTranslate class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "SvfToGeoMedia.h"
#include "Translate.h"

#include <map>
using namespace  std;

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

extern list<CGeoObj*>  G_GEOList;
extern ADOConn*  G_pADOConn; 
extern DGMConnectionPtr G_ptrDVIConnection;
extern DGMGeometryStorageServicePtr G_ptrGSS;

extern void SendMsg(CString str);

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

CTranslate::CTranslate():m_strDbType(""),m_strAccess(""),m_strUser("")
,m_strPassWord(""),m_strDataBase(""),m_strSvfFile(""),m_strDB("")
{
	m_pSvf=NULL;
	m_pevent= NULL;
}

CTranslate::~CTranslate()
{
	if (m_pSvf!=NULL)
	{
		try
		{
			if (m_pSvf->GetStatus())
			   m_pSvf->Close();
		}catch (_com_error e)
		{
			AfxMessageBox(e.Description());
		}
	}
	
}

//初始化環(huán)境
bool CTranslate::Init()
{
	
	//首先確保文件系統(tǒng)完成
	/*
	CFile file;
	if (!file.Open("DataConv.mdb",CFile::modeRead))
	{
		AfxMessageBox("文件DataConv.mdb不存在!");
		return false;
	}
	else
	{
		file.Close();
	}
	*/

	//清理對(duì)象列表
	list<CGeoObj*>::iterator item;
	for( item = G_GEOList.begin();item!= G_GEOList.end();item++)
	{
		CGeoObj* pGeoObj = *item;
		delete pGeoObj;
	}
	G_GEOList.clear();

	//創(chuàng)建Access數(shù)據(jù)庫連接
	if (G_pADOConn==NULL) G_pADOConn= new ADOConn;
	if (!G_pADOConn->m_bConnect)
	{
		if (!G_pADOConn->OnInitADOAcess("DataConv.mdb"))
		{
			AfxMessageBox("連接Access數(shù)據(jù)庫DatConv.mdb失敗!");
			return false;
		}
	}

	//得到數(shù)據(jù)集對(duì)象
	_bstr_t vSQL = "Select * from  SvfToGeoMedia";
	m_pSvf = G_pADOConn->GetRecordSet(vSQL);

	//全局?jǐn)?shù)據(jù)存儲(chǔ)服務(wù)
	G_ptrGSS.CreateInstance(__uuidof(GeometryStorageService));


	//初始化地理據(jù)庫連接
	//if (G_ptrDVIConnection!=NULL)
	//{
	//try
	//{
	//	G_ptrDVIConnection->Disconnect();	
	//}
	//catch (...) {
	//}


	m_bInit=true;
	
	return true;
		
}


bool CTranslate::Translate()
{
	//若沒有初始化先初始化
	
	//if (!Init())
	//{
	//	AfxMessageBox("初始化過程中出現(xiàn)錯(cuò)誤!");
	//	return false;
	//}

	//讀取SVF文件形成地理對(duì)象
	try
	{
		m_svfReadFile.ReadFile(m_strSvfFile);
	}catch (CException* e)
	{
		e->Delete();
		SendMsg("讀"+m_strSvfFile+"文件過程中遇到意外錯(cuò)誤!");
		AfxMessageBox("讀"+m_strSvfFile+"文件過程中遇到意外錯(cuò)誤!")	;
		return false;
	}

	//得到所有地理對(duì)象地理數(shù)據(jù)表名
	list<CGeoObj*>::iterator item;
	for( item = G_GEOList.begin();item!= G_GEOList.end();item++)
	{
		
		if (WaitForSingleObject(m_pevent->m_hObject,0)== WAIT_OBJECT_0) 
		{
			
			return false;
		}
		
		CGeoObj* pGeoObj = *item;
		try
		{
			pGeoObj->GetTableName();
		}catch(_com_error e)
		{
		
			AfxMessageBox(e.Description());
			return false;
		}	
	}

	//檢查是否所有地理對(duì)象都有對(duì)象的地理表
	map<CString,bool> geoCodemap;

	for(item = G_GEOList.begin();item!= G_GEOList.end();item++)
	{
		if (WaitForSingleObject(m_pevent->m_hObject,0)== WAIT_OBJECT_0) 
		{			
			return false;
		}

		CGeoObj* pGeoObj = *item;
		if (pGeoObj->m_strTable=="")
		{
			geoCodemap[pGeoObj->m_strGeoCode.c_str()]=false;
		}
	}

	for(map<CString,bool>::iterator TbItem = geoCodemap.begin();TbItem!= geoCodemap.end();TbItem++)
	{
		CString strGeoCode = TbItem->first;
		SendMsg("地理對(duì)象代碼為"+strGeoCode+"不存在!");
	}
	
	if (geoCodemap.size()>0)
		return false;

	//檢查表是否都存在
	if (!CheckTbExists())
	{
		AfxMessageBox("請(qǐng)先創(chuàng)建地理對(duì)象表!");
		return false;
	}
	
	//連接地理數(shù)據(jù)庫
	if (!InitGeoDbConnect())
	{
		AfxMessageBox("GeoMedia連接數(shù)據(jù)庫失敗!");
		return false;
	}

	//把地理對(duì)象列表中的對(duì)象寫到數(shù)據(jù)庫
	for(item = G_GEOList.begin();item!= G_GEOList.end();item++)
	{
		if (WaitForSingleObject(m_pevent->m_hObject,0)== WAIT_OBJECT_0) 
		{
			
			return false;
		}
		
		CGeoObj* pGeoObj = *item;
		try
		{
			pGeoObj->WriteGeoObjToDataBase();
		}catch (_com_error e)
		{
			AfxMessageBox(e.Description());
			return false;
		}

	}	

	//關(guān)閉地理數(shù)據(jù)庫連接

	G_ptrDVIConnection->Disconnect();

	AfxMessageBox("轉(zhuǎn)換數(shù)據(jù)完成!");
	
	return true;
	
}


//寫地理對(duì)象到地理數(shù)據(jù)庫中
bool CTranslate::WriteGeoToDataBase()
{
	//list<CGeoObj*>  G_GEOList;
	try
	{
		for (list<CGeoObj*>::const_iterator item = G_GEOList.begin(); item!= G_GEOList.end();item++)
		{
			const CGeoObj* pGeoObj = *item;
			
		}
	}
	catch(CException* e)
	{
		e->Delete();
		AfxMessageBox("寫地理對(duì)象到數(shù)據(jù)庫時(shí)遇到錯(cuò)誤!");
		return false;
	}
}

//從數(shù)據(jù)庫中刪除地理對(duì)象集合
bool CTranslate::DelGeoObj()
{
	//關(guān)閉地理數(shù)據(jù)連接
	try
	{
		G_ptrDVIConnection->Disconnect();
	}
	catch (_com_error e)
	{
		AfxMessageBox(e.Description());
	}

	//建立ADOCON數(shù)據(jù)庫連接
	ADOConn* pADOConn = new ADOConn;
	
	m_strDbType.MakeUpper();
	
	if (m_strDbType=="ACCESS")
	{
		pADOConn->OnInitADOAcess(m_strAccess);
	}else if (m_strDbType == "ORACLE")
	{
		pADOConn->OnInitADOConnOra(m_strUser,m_strPassWord,m_strDataBase);
	}else if (m_strDbType == "SQLSERVER")
	{
		pADOConn->OnInitADOConn(m_strUser,m_strPassWord,m_strDataBase,m_strDB);
	}

	CString strSQL;
	list<CGeoObj*>::iterator item;
	for(item = G_GEOList.begin();item!=G_GEOList.end();item++)
	{
		CGeoObj* pGeoObj = *item;
		CString strtable = pGeoObj->m_strTable;
		CString strID;
		if (pGeoObj->m_nID>0)
		{		
			strID.Format("%d",pGeoObj->m_nID);
			strSQL = "Delete from "+ strtable+ "where ID="+strID;
			pADOConn->ExecuteSQL(_bstr_t(strSQL));
		}
	}

	return true;
}

//檢查表是否存在
bool CTranslate::CheckTbExists()
{
	ADOConn* pADOConn=new ADOConn;	
	m_strDbType.MakeUpper();
	if(m_strDbType=="ACCESS")
	{
		if (!pADOConn->OnInitADOAcess(m_strAccess))
		{
			AfxMessageBox("連接"+m_strAccess+"失敗!");
			return false;
		}
	}
	else if (m_strDbType=="ORACLE")
	{
		if (!pADOConn->OnInitADOConnOra(m_strUser,m_strPassWord,m_strDataBase))
		{
			AfxMessageBox("連接"+m_strDataBase+"數(shù)據(jù)庫失敗!");
			return false;
		}
	} else if (m_strDbType=="SQLSERVER")
	{
		if (!pADOConn->OnInitADOConn(m_strUser,m_strPassWord,m_strDataBase,m_strDB))
		{
			AfxMessageBox("連接"+m_strDataBase+"數(shù)據(jù)庫失敗!");
			return false;
		}
	}
	
	map<CString,bool>  Tbmap;
	list<CGeoObj*>::iterator Item;
	for (Item = G_GEOList.begin();Item!= G_GEOList.end();Item++)
	{
		if (WaitForSingleObject(m_pevent->m_hObject,0)== WAIT_OBJECT_0) 
		{
			
			return false;
		}

		CGeoObj* pGeoObj = *Item;
		CString strTable =  pGeoObj->m_strTable;

		_bstr_t vSQL = "select * from  GFeatures  where FeatureName ='"+ strTable+"'";
		ADODB::_RecordsetPtr pDS = pADOConn->GetRecordSet(vSQL);

		if (pDS->adoEOF)
		{
			Tbmap[strTable] = false;									
		}
		
		pDS->Close();
	}

	for (map<CString,bool>::iterator item = Tbmap.begin();item!= Tbmap.end();item++)
	{
		CString strTbName = item->first;
		SendMsg("地理數(shù)據(jù)庫沒有地理表"+strTbName+"存在!");
	}

	//清理數(shù)據(jù)庫連接對(duì)象
	pADOConn->ExitConnect();

	return (Tbmap.size()==0);
}

//創(chuàng)建地理數(shù)據(jù)庫連接
bool CTranslate::InitGeoDbConnect()
{
	//初始化地理據(jù)庫連接
	m_strDbType.MakeUpper();
	try
	{
		if (G_ptrDVIConnection==NULL)
		{
			G_ptrDVIConnection.CreateInstance(__uuidof(Connection));
		}
		
		//Access數(shù)據(jù)庫連接
		if (m_strDbType == "ACCESS")
		{
			//設(shè)置數(shù)據(jù)倉庫路徑
			G_ptrDVIConnection->put_Location(_bstr_t(m_strAccess));
			//數(shù)據(jù)倉庫類型
			G_ptrDVIConnection->put_Type(L"Access.GDatabase");
			G_ptrDVIConnection->Connect();
			
			//Oracle數(shù)據(jù)庫連接
		}else if (m_strDbType == "ORACLE")
		{
			//"用戶名/密碼@數(shù)據(jù)庫服務(wù)名"
			CString strConnectInfo = m_strUser+"/"+m_strPassWord+"@"+m_strDataBase;
			G_ptrDVIConnection->put_Location(_bstr_t("Oracle"));
			G_ptrDVIConnection->PutType(_bstr_t("OracleORW.GDatabase"));
			G_ptrDVIConnection->put_ConnectInfo(_bstr_t(strConnectInfo));
			G_ptrDVIConnection->put_Mode(3);
			
			G_ptrDVIConnection->Connect();
			
			//SQLSERVER數(shù)據(jù)庫連接
		}else if (m_strDbType == "SQLSERVER")
		{
			
			CString strConnectInfo = "Uid="+m_strUser+";Pwd="+m_strPassWord+";Database="+m_strDataBase+"; SERVER="+ m_strDB;
			
			G_ptrDVIConnection->put_Location(_bstr_t("SQL Sever"));
			G_ptrDVIConnection->PutType(_bstr_t("SQLServerRW.Gdatabase"));
			G_ptrDVIConnection->put_ConnectInfo(_bstr_t(strConnectInfo));
			G_ptrDVIConnection->put_Mode(3);
			
			G_ptrDVIConnection->Connect();				
		}	
		
	}catch (_com_error e) {
		AfxMessageBox(e.Description());
		return false;
	}

	return true;
}



?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av影院在线| 欧美色大人视频| 亚洲乱码国产乱码精品精98午夜| 欧美日韩综合不卡| 成人精品亚洲人成在线| 日韩综合一区二区| 亚洲欧洲无码一区二区三区| 欧美日韩国产一区二区三区地区| 福利一区二区在线| 日韩精彩视频在线观看| 国产精品久久三区| 久久女同互慰一区二区三区| 欧美日本一区二区| 91浏览器打开| 国产一区二区三区电影在线观看| 天天射综合影视| 亚洲精品视频在线| 欧美激情资源网| 欧美刺激脚交jootjob| 欧美熟乱第一页| 91碰在线视频| 懂色一区二区三区免费观看| 日韩av不卡一区二区| 亚洲免费av网站| 国产精品青草久久| 国产亚洲女人久久久久毛片| 欧美一区二区三区影视| 91久久一区二区| 99久久久无码国产精品| 成人黄色在线网站| 国产精品一二一区| 国产在线播精品第三| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲老妇xxxxxx| 中文字幕va一区二区三区| 精品成a人在线观看| 欧美一区二区在线视频| 欧美久久婷婷综合色| 在线观看日韩电影| 91精品福利在线| 欧美亚洲自拍偷拍| 欧美视频在线观看一区| 欧美色图第一页| 欧美性感一区二区三区| 欧美中文字幕一区二区三区亚洲 | 一本色道综合亚洲| 91浏览器在线视频| 欧美影院精品一区| 欧美日韩亚洲高清一区二区| 欧美人牲a欧美精品| 欧美日韩久久一区| 欧美精品乱码久久久久久按摩 | 97精品久久久久中文字幕| 丁香婷婷综合网| 成人av免费在线观看| 99久久国产综合精品麻豆 | 日韩无一区二区| 日韩精品一区二区三区中文不卡 | 亚洲精品免费在线观看| 一区二区在线观看免费| 一区二区三区精品久久久| 有码一区二区三区| 日韩黄色免费网站| 久久成人精品无人区| 国产盗摄女厕一区二区三区 | 欧美在线一二三四区| 欧美日韩一区三区| 欧美一区二区三区喷汁尤物| 精品国产伦一区二区三区观看方式 | 精品视频在线免费看| 欧美精品在线一区二区| 欧美一区二区播放| 久久精品人人做人人综合| 国产精品国产a级| 一区二区三区久久| 极品少妇xxxx精品少妇| 国产成人免费在线视频| 91免费视频网址| 7777精品伊人久久久大香线蕉| 欧美成人性战久久| 日韩美女精品在线| 男女视频一区二区| 成人午夜短视频| 欧美日本一区二区在线观看| 久久久久国产一区二区三区四区 | 国产原创一区二区三区| av网站一区二区三区| 欧美性三三影院| 精品欧美一区二区三区精品久久 | 国产清纯在线一区二区www| 一区二区在线免费| 麻豆精品视频在线观看视频| 成人av网址在线观看| 在线不卡的av| 国产精品污污网站在线观看| 五月天丁香久久| 99视频有精品| 日韩精品中午字幕| 亚洲国产一区二区在线播放| 国产一区二区三区久久悠悠色av| 在线日韩av片| 国产精品嫩草99a| 久久99精品久久久久久| 色综合视频一区二区三区高清| 欧美大片在线观看一区二区| 一区二区三区四区激情| 国产精品一区二区在线播放 | 成人免费看片app下载| 欧美一区二区精品久久911| 亚洲天堂中文字幕| 国产精品一区二区黑丝| 欧美裸体bbwbbwbbw| 亚洲日本在线天堂| 国产91色综合久久免费分享| 91精品婷婷国产综合久久| 亚洲欧美日韩中文播放| 国产电影精品久久禁18| 欧美成人video| 视频一区在线播放| 欧美亚洲另类激情小说| 亚洲免费观看高清完整版在线观看| 国产成人午夜精品影院观看视频| 91精品国产一区二区三区| 亚洲影院理伦片| 色哟哟精品一区| 亚洲你懂的在线视频| 成人午夜看片网址| 国产视频一区在线观看| 精品一区二区三区视频| 欧美一级二级三级乱码| 性做久久久久久久免费看| 91福利在线播放| 亚洲另类春色校园小说| 色又黄又爽网站www久久| ㊣最新国产の精品bt伙计久久| 国产福利一区在线| 国产精品无圣光一区二区| 成人精品免费看| 国产精品色在线观看| 国产99精品在线观看| 国产精品成人免费精品自在线观看| 国产成a人无v码亚洲福利| 国产午夜久久久久| 成人av免费在线播放| 亚洲色图欧洲色图婷婷| 91电影在线观看| 五月天久久比比资源色| 欧美一区二区福利在线| 精品一区二区三区视频在线观看 | 欧美精品三级在线观看| 在线观看国产91| 美女视频第一区二区三区免费观看网站| 欧美卡1卡2卡| 91久久一区二区| 丁香婷婷综合网| 美女一区二区三区| 亚洲精品美国一| 国产校园另类小说区| 欧美一区中文字幕| 欧美精品一区二区在线播放| 91亚洲男人天堂| 久久久影院官网| 成人av网站在线| 亚洲高清免费观看高清完整版在线观看| 欧美日韩免费视频| 精久久久久久久久久久| 国产农村妇女毛片精品久久麻豆| av午夜精品一区二区三区| 一区二区三区在线观看视频| 成人免费av网站| 亚洲综合一区二区精品导航| 91久久精品一区二区三| 奇米色777欧美一区二区| 2023国产一二三区日本精品2022| 从欧美一区二区三区| 亚洲精品亚洲人成人网在线播放| 欧美特级限制片免费在线观看| 精品午夜一区二区三区在线观看| 国产精品久久久久9999吃药| 在线观看网站黄不卡| 精品一区二区免费视频| 欧美在线不卡一区| 激情文学综合插| 亚洲色图一区二区三区| 欧美色国产精品| 国v精品久久久网| 《视频一区视频二区| 欧美日韩在线一区二区| 国产乱色国产精品免费视频| 亚洲你懂的在线视频| 久久蜜桃一区二区| 欧美精品粉嫩高潮一区二区| 国产一区三区三区| 爽好多水快深点欧美视频| 日韩精品一区二区三区四区| 成人免费视频caoporn| 日韩电影免费在线| 亚洲色欲色欲www| 久久久高清一区二区三区| 在线观看av一区二区|