首页 > 数据库 >跨数据库表间数据Copy的源代码

跨数据库表间数据Copy的源代码

时间:2023-01-27 21:31:19浏览次数:47  
标签:源代码 bufSource strcat 表间 prs bstr NULL buf Copy

/***************************************************************************************************
** 函数名 :RestoreData
** 输 入 :const CString &desc 目的数据库路径
** const CString &source 源数据库路径
** 输 出:
** 功能描述:将源数据库中的内容导入到目的数据库中
** 全局变量:
** 调用模块:
** 作 者:刘志永
** 日 期:2008-9-10
** 修 改:
** 日 期:
** 版 本:
***************************************************************************************************/
BOOL CDbRestore::RestoreData(const CString &desc, const CString &source)
{
try
{
//CoInitialize(NULL);
//_ConnectionPtr pconn(__uuidof(Connection));
//_ConnectionPtr pSourceConn(__uuidof(Connection));
//_RecordsetPtr prs(__uuidof(Recordset));
//_CommandPtr m_pCmd(__uuidof(Command));
//int dwMinSize = WideCharToMultiByte(CP_OEMCP,NULL,desc,-1,NULL,0,NULL,FALSE);
//char lpszStr[MAX_PATH+1];
//WideCharToMultiByte(CP_OEMCP,NULL,desc,-1,lpszStr,dwMinSize,NULL,FALSE); //int dwSourceMinSize = WideCharToMultiByte(CP_OEMCP,NULL,source,-1,NULL,0,NULL,FALSE);
//char lpszSourceStr[MAX_PATH+1];
//WideCharToMultiByte(CP_OEMCP,NULL,source,-1,lpszSourceStr,dwSourceMinSize,NULL,FALSE); CString tmpFrom(source);
CString tmpTo(desc);
char buf[512];
buf[0]='0';
strcpy(buf,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=");
strcat(buf,tmpTo);
strcat(buf,";Persist Security Info=False"); char bufSource[512];
bufSource[0]='0';
strcpy(bufSource,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=");
strcat(bufSource,tmpFrom);
strcat(bufSource,";Persist Security Info=False"); pconn->ConnectionString=buf;
pSourceConn->ConnectionString=bufSource; pconn->Open("","","",adConnectUnspecified);
prs=pconn->OpenSchema(adSchemaTables);
m_pCmd->ActiveConnection = pconn; pSourceConn->Open("","","",adConnectUnspecified);
while (!prs->EndOfFile)
{
//_bstr_t bstTableType=(_bstr_t)prs->Fields->GetItem("TABLE_TYPE")->Value;
if (!strcmp((_bstr_t)prs->Fields->GetItem("TABLE_TYPE")->Value,"TABLE"))
{
try
{
_bstr_t bstTableName=(_bstr_t)prs->Fields->GetItem("TABLE_NAME")->Value; char buf[512];
strcpy(buf,"INSERT INTO ");
strcat(buf,bstTableName);
strcat(buf," SELECT * From ");
strcat(buf,bstTableName);
strcat(buf," IN '");
strcat(buf, tmpFrom);
strcat(buf,"'"); _bstr_t bstSql=buf;
m_pCmd->CommandText=bstSql;
m_pCmd->CommandType=adCmdText;
m_pCmd->Execute(NULL,NULL,adCmdText);

}
catch (...)
{

}
prs->MoveNext();
}
else
prs->MoveNext();
} prs->Close();
pconn->Close();
pSourceConn->Close(); return TRUE;
}
catch (...)
{
return FALSE;
}
}

标签:源代码,bufSource,strcat,表间,prs,bstr,NULL,buf,Copy
From: https://blog.51cto.com/u_15942605/6024363

相关文章

  • 文件夹递归copy的源代码
    /*****************************************************************************************************函数名:CopyFolder**输入:constCString&desc目的路径......
  • CopyFile函数
    CopyFile函數,文件拷贝函数.其基本結構如下:copyfile(lpcstrlpexistingfilename,//源文件路径lpcstrlpnewfilename......
  • RTree源代码——C语言实现
    RTree源代码——C语言实现cheungmine一、什么是RTree“R树是B树向多维空间发展的另一种形式,它将空间对象按范围划分,每个结点都对应一个区域和一个磁盘页,非叶结点的磁盘页中......
  • 上交自瞄算法开源代码-装甲板识别功能分析
    前言开源代码github网址:GitHub-xinyang-go/SJTU-RM-CV-2019:上海交通大学RoboMaster2019赛季视觉代码这里着重分析主函数main.cpp与装甲板识别部分的工程文件armer......
  • 【小记】copy 与 copy_backward
    copy与copy_backwardcopy从前往后复制,result参数指向目标容器的begin位置copy*backward从后往前复制,···end位置Possibleimplementationtemplate<class......
  • struct task_struct 源代码
    //structtask_struct代码structtask_struct{#ifdefCONFIG_THREAD_INFO_IN_TASK /* *Forreasonsofheadersoup(seecurrent_thread_info()),this *......
  • 【原创】NES第十波:解说一个NES音乐贺卡的源代码
    我将自己写的一编音乐贺卡源代码拿来做解说。完整的工程和源代码见最后面的下载链接。之前的解说都是保姆级的。从这一章开始,就变得简洁了。 一、定义内存变量(汇编都是......
  • Informer源代码学习记录之“数据集处理”
    一、源码代码核心exp_informer.py: #获取数据集处理类, 选取的数据集为'weather',数据集处理类Dataset_CustomData=data_dict[self.args.dat......
  • 基于springboot的景区旅游信息管理系统(源代码+数据库)
    基于springboot的景区旅游信息管理系统(源代码+数据库)一、系统介绍本项目分为管理员与普通用户两种角色用户登录前台功能:旅游路线、旅游景点、旅游酒店、旅游车票、......
  • icad2000的源代码
    icad2000的源代码国内的大部分CAD厂家都是基于这个做的。类似中望cad的2005版本的20000。YID:695000​​查看资料来源​​......