📄 dboperater.cpp
字号:
#include "stdafx.h"
#include "DbOperater.h"
#include "DBConnection.h"
extern _ConnectionPtr pADOConn;//ADO连接类
extern long retADOConn;//ADO连接返回
extern char strServer[];
extern char strUID[];
extern char strPWD[];
extern char strDBname[];
extern SQLRETURN ODBCDbInitialHenv();
extern void ODBCDbFreeHenv();
SQLHDBC hdbc;
//函数InitDb初始化ADO连接
long InitDb()
{
// ::CoInitialize(NULL);
//Added by LuoMin 2006/10/27
//初始化全局使用的ODBC环境句柄
SQLRETURN Tempretcode;
Tempretcode = ODBCDbInitialHenv();
if(Tempretcode != SQL_SUCCESS && Tempretcode != SQL_SUCCESS_WITH_INFO)
{
AfxMessageBox("初始化全局环境句柄出错!");
return 1;
}
Tempretcode = ODBCDbInitialHdbc(&hdbc);
if(!(Tempretcode == SQL_SUCCESS || Tempretcode == SQL_SUCCESS_WITH_INFO) )
{
AfxMessageBox("获得数据库语句句柄出错!");
return 1;
}
//初始化ADO连接
//并将其返回值保存在全局变量retADOConn中
HRESULT hr;
hr = pADOConn.CreateInstance(__uuidof(Connection));
if(!SUCCEEDED(hr))
{
AfxMessageBox("Error!");
}
TCHAR AdoConnStr[128];
memset(AdoConnStr,0,128);
wsprintf (AdoConnStr, _T("PROVIDER=SQLOLEDB;SERVER=%s;DATABASE=%s;UID=%s;PWD=%s"),strServer,strDBname,strUID,strPWD);
_bstr_t bstrADOConn=AdoConnStr;
retADOConn=pADOConn->Open(bstrADOConn,"","",-1);
if(retADOConn < 0 )
{
return 1;
}
return 0;
}
//函数FreeDb释放ADO连接
void FreeDb()
{
ODBCDbFreeDb(&hdbc);
ODBCDbFreeHenv();
if(pADOConn->State == 1)
{
pADOConn->Close();
}
if(pADOConn)
{
pADOConn = NULL;
}
// ::CoUninitialize();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -