📄 adoconn.cpp
字号:
// ADOConn.cpp: implementation of the ADOConn class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "BankSystem.h"
#include "ADOConn.h"
#include "banksystemdlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
ADOConn::ADOConn()
{
}
ADOConn::~ADOConn()
{
}
int ADOConn::OnInitADOConn()
{
if(FAILED(::CoInitialize(NULL)))
{
::MessageBox(NULL,"COM Init error","Error",MB_OK);
exit(-1);
}
pConn.CreateInstance("ADODB.Connection");
//str.Format("Provider=SQLOLEDB;SERVER=%s;DATABASE=%s",theApp.server,theApp.database);
str.Format("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=%s;Data Source=%s",theApp.database,theApp.server);
try
{
//pConn->Open("Provider=SQLOLEDB;SERVER=GUCHAO;DATABASE=Bank","sa","555555",adModeUnknown);
//pConn->Open("Provider=SQLOLEDB;SERVER=GUCHAO;DATABASE=Bank","sa","555555",adModeUnknown);
pConn->Open(_bstr_t(str),_bstr_t(theApp.User),_bstr_t(theApp.Pwd),adModeUnknown);
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
return 0;
}
return 1;
}
_RecordsetPtr& ADOConn::Execute(_bstr_t sql)
{pRst.CreateInstance(_uuidof(Recordset));
try
{
if(pConn==NULL)
{
OnInitADOConn();
}
pRst=pConn->Execute(sql,NULL,adCmdText);
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
return pRst;
}
_RecordsetPtr& ADOConn::GetRecordset(_bstr_t sql)
{try
{
if(pConn==NULL)
OnInitADOConn();
pRst.CreateInstance(_uuidof(Recordset));
pRst->Open((_bstr_t)sql,pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error&e)
{
AfxMessageBox(e.Description());
}
return pRst;
}
void ADOConn::ExitConnect()
{
if(pRst!=NULL)
pRst->Close();
pConn->Close();
::CoUninitialize();
}
double ADOConn::GetTime(CString timeold,CString now)
{ double sumtimeA,sumtimeB;
int a[5],b[5];
//timeold="2007/10/12/15/8";
//now="2007/10/13/15/8";
for(int i=0;;++i)
{
int x=timeold.Find("/");
int y=now.Find("/");
if(x!=-1)
{ a[i]=atoi(timeold.Left(x));
b[i]=atoi(now.Left(y));
timeold=timeold.Right(timeold.GetLength()-x-1);
now=now.Right(now.GetLength()-y-1);
//AfxMessageBox(timeold);
}
else
{a[i]=atoi(timeold);
b[i]=atoi(now);
break;
}
//AfxMessageBox(a[i]);
}
for(i=0;i!=5;i++)
{
switch(i)
{
case 0:
sumtimeA=a[i];
sumtimeB= b[i];
break;
case 1:
sumtimeA+=a[i]/12.0;
sumtimeB+=b[i]/12.0;
break;
case 2:
sumtimeA+=a[i]/(31.0*12.0);
sumtimeB+=b[i]/(31.0*12.0);
break;
case 3:
sumtimeA+=a[i]/(24.0*31.0*12.0);
sumtimeB+=b[i]/(24.0*31.0*12.0);
break;
case 4:
sumtimeA+=a[i]/(60.0*24.0*31.0*12.0);
sumtimeB+=b[i]/(60.0*24.0*31.0*12.0);
break;
}
}
return (sumtimeB-sumtimeA);
}
CString ADOConn::GetCurrTime()
{
CTime t=CTime::GetCurrentTime();//获取时间
int iYear,iMonth,iDay,iHour,iMin;
iYear=t.GetYear();
iMonth=t.GetMonth();
iDay=t.GetDay();
iHour=t.GetHour();
iMin=t.GetMinute();
Time.Format("%d/%d/%d/%d/%d",iYear,iMonth,iDay,iHour,iMin);
return Time;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -