#include "stdafx.h"
#include "ADO.h"
#ifdef _DEBUG
#undef THIS_FILE
static
char
THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
ADO::ADO()
{
}
ADO::~ADO()
{
}
void
ADO::OnInitADOConn()
{
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(
"ADODB.Connection"
);
_bstr_t strConnect=
"DRIVER={MySQL ODBC 5.2w Driver};Server=localhost;PassWord=123456;Persist Security Info=False;User ID=root;Data Source=autoresour"
;
m_pConnection->Open(strConnect,
""
,
""
,adModeUnknown);
}
catch
(_com_error e)
{
AfxMessageBox(e.Description());
}
}
_RecordsetPtr& ADO::OpenRecordset(CString sql)
{
ASSERT(!sql.IsEmpty());
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(_bstr_t(sql), m_pConnection.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic, adCmdText);
}
catch
(_com_error e)
{
AfxMessageBox(e.Description());
}
return
m_pRecordset;
}
void
ADO::CloseRecordset()
{
if
(m_pRecordset->GetState() == adStateOpen)
m_pRecordset->Close();
}
void
ADO::CloseConn()
{
m_pConnection->Close();
::CoUninitialize();
}
CString ADO::getTimeToULong(){
SYSTEMTIME sm;
::GetLocalTime(&sm);
CTime tmSCan(sm);
CString szTime = tmSCan.Format(
"%Y-%m-%d %H:%M:%S"
);
return
szTime;
}
UINT
ADO::GetRecordCountt(_RecordsetPtr pRecordset)
{
int
nCount = 0;
try
{
pRecordset->MoveFirst();
}
catch
(...)
{
return
0;
}
if
(pRecordset->adoEOF)
return
0;
while
(!pRecordset->adoEOF)
{
pRecordset->MoveNext();
nCount = nCount + 1;
}
pRecordset->MoveFirst();
return
nCount;
}
CTime ADO::CStringToTime(CString string){
int
first=string.Find(
'-'
);
int
second=string.Find(
'-'
,first+1);
int
year=
atoi
(string.Left(4));
int
month=
atoi
(string.Mid(first+1,second-first));
int
day=
atoi
(string.Mid(second+1,string.GetLength()-second-1));
CTime temp(year,month,day,0,0,0);
return
temp;
}
CTime ADO::CStringToTimeComplete(CString cstring){
int
first=cstring.Find(
'-'
);
int
second=cstring.Find(
'-'
,first+1);
int
year=
atoi
(cstring.Left(4));
int
month=
atoi
(cstring.Mid(first+1,second-first));
int
day=
atoi
(cstring.Mid(second+1,10-second-1));
first = cstring.Find(
':'
, second);
second = cstring.Find(
':'
, first + 1);
int
hour =
atoi
(cstring.Mid(first - 2,2));
int
minute =
atoi
(cstring.Mid(second - 2,2));
int
secd =
atoi
(cstring.Mid(second + 1,2));
CTime temp(year,month,day,hour,minute,secd);
return
temp;
}
CString ADO::getYMD(CString string){
if
(string.Find(
" "
) != -1){
string = string.Mid(0, string.Find(
" "
));
}
int
first=string.Find(
'-'
);
int
second=string.Find(
'-'
,first+1);
int
year=
atoi
(string.Left(4));
int
month=
atoi
(string.Mid(first+1,second-first));
int
day=
atoi
(string.Mid(second+1,string.GetLength()-second-1));
CString trace;
trace.Format(
"%d%d%d"
, year, month, day);
return
trace;
}
CString ADO::getYMDHMS(CString date, CString
time
){
int
first=date.Find(
'-'
);
int
second=date.Find(
'-'
,first+1);
int
year=
atoi
(date.Left(4));
int
month=
atoi
(date.Mid(first+1,second-first));
int
day=
atoi
(date.Mid(second+1,date.GetLength()-second-1));
CString trace =
""
;
CString temp =
""
;
trace.Format(
"%d-"
, year);
temp.Format(
"%d-"
, month);
if
(month/10 == 0){temp.Format(
"0%d-"
, month);}
trace += temp;
temp.Format(
"%d "
, day);
if
(day/10 == 0){temp.Format(
"0%d "
, day);}
trace += temp;
temp =
time
;
if
(temp.GetLength() == 7){temp =
"0"
+
time
;}
trace += temp;
return
trace;
}