#ifdef MESDLL_EXPORTS
#define MESDLL_API __declspec(dllexport)
#else
#define MESDLL_API __declspec(dllimport)
#endif
#include<iostream>
#include<string>
#import "C:\Program Files\Common Files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
using namespace std;
class MESDLL_API DbHelperDLL {
public:
public:
DbHelperDLL(void);
DbHelperDLL::~ DbHelperDLL(void);
string m_strConnect;
string m_strUserName;
string m_strPassword;
_ConnectionPtr m_pConn;
_RecordsetPtr pRst;
bool m_bconnectState;
public:
BOOL InitDB();
_RecordsetPtr DB_select(string p_strCmd);
BOOL DB_update(string p_strCmd);
BOOL DB_insert(string p_strCmd);
BOOL DB_close();
int DB_getState();
};
#include "pch.h"
#include "framework.h"
#include "DbHelperDLL.h"
#include <codecvt>
#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>
DbHelperDLL::DbHelperDLL()
{
m_bconnectState = false;
m_pConn = NULL;
return;
}
DbHelperDLL::~DbHelperDLL(void)
{
}
int DbHelperDLL:: DB_getState()
{
if(m_pConn == NULL)
{
return -1;
}
return m_pConn->State;
}
BOOL DbHelperDLL:: InitDB()
{
if(m_pConn!=NULL)
{
int t_state = m_pConn->State;
if(adStateOpen == t_state)
{
return true;
}
}
::CoInitialize(NULL);
try
{
m_pConn.CreateInstance("ADODB.Connection");
_bstr_t str_connect = "Provider=SQLOLEDB;Data Source=LEGENDLI;Initial Catalog=testbase;User ID=sa;Password=1";
m_pConn->Open(str_connect,"" , "" , 0);
}
catch (...)
{
DB_close();
return false;
}
return true;
}
_RecordsetPtr DbHelperDLL:: DB_select(string p_strCmd)
{
if(m_pConn==NULL)
{
return NULL;
}
if(p_strCmd.find("delete")!=-1 || p_strCmd.find("drop")!=-1)
{
return NULL;
}
try
{
pRst = m_pConn->Execute(p_strCmd.c_str() , NULL , 1);
}
catch (...)
{
DB_close();
return NULL;
}
if(pRst==NULL)
{
return NULL;
}
return pRst;
}
BOOL DbHelperDLL::DB_update(string p_strCmd)
{
if(m_pConn==NULL)
{
return false;
}
if(p_strCmd.find("delete")!=-1 || p_strCmd.find("drop")!=-1)
{
return false;
}
try
{
pRst = m_pConn->Execute(p_strCmd.c_str() , NULL , 1);
}
catch (...)
{
DB_close();
return false;
}
if(pRst==NULL)
{
return false;
}
else
{
return true;
}
}
BOOL DbHelperDLL::DB_insert(string p_strCmd)
{
if(m_pConn==NULL)
{
return false;
}
if(p_strCmd.find("delete")!=-1 || p_strCmd.find("drop")!=-1)
{
return false;
}
try
{
pRst = m_pConn->Execute(p_strCmd.c_str() , NULL , 1);
}
catch (...)
{
DB_close();
return false;
}
if(pRst==NULL)
{
return false;
}
else
{
return true;
}
}
BOOL DbHelperDLL::DB_close()
{
try
{
m_pConn->Close();
}
catch (...)
{
return true;
}
return true;
}