📄 sqlservertblwrappers.cpp
字号:
#include <iostream>
#include <fstream>
#include "SQLServerTblWrappers.h"
using namespace std;
const char* DBServerHostCfg = "Host:";
const char* DBNameCfg = "DataBase:";
const char* UserIDCfg = "UID:";
const char* PwdCfg = "Pwd:";
//------------------------------------------------------------------------
//------------------------------------------------------------------------
bool SQLServerTblWrappers::getConnectStr(const char* cfgFile, std::string& connectionStr)
{
ifstream infile;
infile.open(cfgFile);
if (!infile.good())
{
cout<<"********Open DB Config File Failed...."<<endl;
return false;
}
string cfgData;
connectionStr = "driver={SQL Server};Server=";
infile>>cfgData;
if (cfgData != DBServerHostCfg)
{
cout<<"Config File Line 1 Error!!"<<endl;
infile.close();
return false;
}
infile>>cfgData;
connectionStr += cfgData;
connectionStr += ";DATABASE=";
infile>>cfgData;
if (cfgData != DBNameCfg)
{
cout<<"Config File Line 2 Error!!"<<endl;
infile.close();
return false;
}
infile>>cfgData;
connectionStr += cfgData;
connectionStr += ";UID=";
infile>>cfgData;
if(cfgData != UserIDCfg)
{
cout<<"Config File Line 3 Error!!"<<endl;
infile.close();
return false;
}
infile>>cfgData;
connectionStr += cfgData;
connectionStr += ";PWD=";
infile>>cfgData;
if (cfgData != PwdCfg)
{
cout<<"Config File Line 4 Error!!"<<endl;
infile.close();
return false;
}
infile>>cfgData;
connectionStr += cfgData;
return true;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
bool SQLServerTblWrappers::ConnectDB(const char* cfgFile)
{
string connStr;
if (!getConnectStr(cfgFile, connStr))
{
cout<<"*******get Connection String Failed...."<<endl;
return false;
}
if(CoInitialize(NULL) < 0 )
return false;
HRESULT hr;
try
{
hr = pConn_.CreateInstance("ADODB.Connection");
pConn_->ConnectionTimeout = 5; //设置超时时间为5秒
if (SUCCEEDED(hr))
pConn_->Open(connStr.c_str(),"","",adModeUnknown);
else
return false;
}
catch(...)
{
cout<<"Connect DB failed!!"<<endl;
return false;
}
cout<<"Connect DB OK!!"<<endl;
return true;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
bool SQLServerTblWrappers::ExecuteSQL(const char* SQLStr)
{
try
{
//pRS_->Close();
pRS_ = pConn_->Execute(SQLStr, &RecordsAffected_, adCmdText);
}
catch(...)
{
cout<<"Execute SQL String Failed...."<<endl;
return false;
}
return true;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
bool SQLServerTblWrappers::DisconnectDB()
{
try
{
HRESULT hr1, hr2;
hr1 = pRS_->Close();
hr2 = pConn_->Close();
if (!SUCCEEDED(hr1) || !SUCCEEDED(hr2))
return false;
}
catch(...)
{
return false;
}
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -