1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087 |
- #include "StdAfx.h"
- #include "AdoImpl.h"
- AdoImpl::AdoImpl(void)
- {
- m_pADODatabase = NULL;
- memset(m_szConnectString,0,1024);
- InitializeCriticalSection(&m_csAdo);
- }
- AdoImpl::~AdoImpl(void)
- {
- DeleteCriticalSection(&m_csAdo);
- }
- void AdoImpl::SetConnectString(IN const int &nType,IN const STAdoDatabaseInfo &tagAodDatabaseInfo)
- {
- switch (nType)
- {
- case ADO_ACCESS97:
- sprintf(m_szConnectString, "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%s", tagAodDatabaseInfo.szDatabaseFile);
- break;
- case ADO_ACCESS2000:
- sprintf(m_szConnectString, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s", tagAodDatabaseInfo.szDatabaseFile);
- break;
- case ADO_ACCESS2007:
- sprintf(m_szConnectString, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s", tagAodDatabaseInfo.szDatabaseFile);
- break;
- case ADO_SQLSERVER:
- {
- if ( !_stricmp(tagAodDatabaseInfo.szDatabaseTCPPort,"0"))
- {
- //sprintf(m_szConnectString, "Provider=sqloledb.1;Persist Security Info=false;Data Source=%s;Initial Catalog=%s;User Id=%s;Password=%s; ",
- sprintf(m_szConnectString, "Provider=sqloledb;Data Source=%s;Initial Catalog=%s;User Id=%s;Password=%s; ",
- tagAodDatabaseInfo.szDataSource, // IP華硊麼督昢靡備;
- tagAodDatabaseInfo.szDatabaseName,
- tagAodDatabaseInfo.szDatabaseAccount,
- tagAodDatabaseInfo.szDatabasePassword);
- }
- else
- {
- //sprintf(m_szConnectString, "Provider=sqloledb.1;Persist Security Info=false;Data Source=%s,%s;Initial Catalog=%s;User Id=%s;Password=%s; ",
- sprintf(m_szConnectString, "Provider=sqloledb;Data Source=%s,%s;Initial Catalog=%s;User Id=%s;Password=%s; ",
- tagAodDatabaseInfo.szDataSource, // IP華硊麼督昢靡備;
- tagAodDatabaseInfo.szDatabaseTCPPort,
- tagAodDatabaseInfo.szDatabaseName,
- tagAodDatabaseInfo.szDatabaseAccount,
- tagAodDatabaseInfo.szDatabasePassword);
- }
- }
- break;
- case ADO_PGSQL:
- {
- sprintf(m_szConnectString, "DRIVER={PostgreSQL ODBC Driver(UNICODE)}; SERVER=%s; port=%s; DATABASE=%s; UID=%s; PWD=%s;",
- tagAodDatabaseInfo.szDataSource, // IP華硊麼督昢靡備;
- tagAodDatabaseInfo.szDatabaseTCPPort,
- tagAodDatabaseInfo.szDatabaseName,
- tagAodDatabaseInfo.szDatabaseAccount,
- tagAodDatabaseInfo.szDatabasePassword);
- }
- break;
- default:
- break;
- }
- }
- bool AdoImpl::opendatabase(IN const TCHAR *pConnectString)
- {
- bool bResult = false;
- if( NULL == m_pADODatabase )
- {
- m_pADODatabase = new CADODatabase();
- if( m_pADODatabase )
- {
- if( pConnectString == NULL )
- {
- m_pADODatabase->SetConnectionString(m_szConnectString);
- }
- else
- {
- m_pADODatabase->SetConnectionString(pConnectString);
- strcpy(m_szConnectString, pConnectString);
- }
- if( TRUE == m_pADODatabase->Open() )
- {
- //LOG4C((LOG_NOTICE, "Database Connetion Success!"));
- bResult = true;
- }
- else
- {
- if( m_pADODatabase->IsOpen() )
- {
- m_pADODatabase->Close();
- }
- delete m_pADODatabase;
- m_pADODatabase = NULL;
- //LOG4C((LOG_NOTICE, "Database Connetion Lost!"));
- }
- }
- }
- return bResult;
- }
- void AdoImpl::closedatabase()
- {
- if( NULL != m_pADODatabase )
- {
- if( m_pADODatabase->IsOpen() )
- {
- m_pADODatabase->Close();
- }
- if( m_pADODatabase )
- delete m_pADODatabase;
- m_pADODatabase = NULL;
- }
- }
- int AdoImpl::Execute(TCHAR *pSQL)
- {
- INT iRetCode = 0;
- if( NULL == m_pADODatabase )
- {
- //LOG4C((LOG_NOTICE, "NULL == m_pADODatabase" ));
- return -1;
- }
- try
- {
- EnterCriticalSection(&m_csAdo);
- if ( m_pADODatabase->IsOpen() )
- {
- iRetCode = m_pADODatabase->Execute(pSQL);
- LeaveCriticalSection(&m_csAdo);
- }
- else
- {
- LeaveCriticalSection(&m_csAdo);
- //LOG4C((LOG_NOTICE, "m_pADODatabase->IsOpen() = false" ));
- return -1;
- }
- }
- catch (_com_error &e)
- {
- //LOG4C( ( LOG_ERROR, "Execute SQL Script Error, Script:%s, ErrorMsg:%s", pSql, e.ErrorMessage() ) );
- }// end catch (_com_error &e)
- return iRetCode;
- }
- void AdoImpl::DeleteADORecordSet(CADORecordset* pRSet)
- {
- CloseADORecordSet(pRSet);
- if( pRSet )
- {
- delete pRSet;
- pRSet = NULL;
- }
- }
- bool AdoImpl::OpenADORecordSet(CADORecordset* pRSet, const TCHAR *pSQL)
- {
- int iRetCode;
- bool bResult = true;
- if( NULL == pRSet ) return false;
- try
- {
- iRetCode = pRSet->Open(pSQL, CADORecordset::openQuery);
- if (iRetCode == 0)
- {
- DeleteADORecordSet(pRSet);
- bResult = false;
- }
- }
- catch (_com_error &e)
- {
- //LOG4C( ( LOG_ERROR, "Execute SQL Script Error, Script:%s, ErrorMsg:%s", pSql, e.ErrorMessage() ) );
- DeleteADORecordSet(pRSet);
- bResult = false;
- }// end catch (_com_error &e)
- return bResult;
- }
- void AdoImpl::CloseADORecordSet(CADORecordset* pRSet)
- {
- if( NULL != pRSet )
- {
- if( pRSet->IsOpen() )
- {
- pRSet->Close();
- }
- }
- }
- bool AdoImpl::GetADODateBaseStatus()
- {
- if( NULL == m_pADODatabase || !m_pADODatabase->IsOpen())
- return false;
- return true;
- }
- DWORD AdoImpl::GetTableRecordCount(IN const TCHAR *pTableName)
- {
- if ( pTableName == NULL)
- {
- return -1;
- }
- TCHAR szSQL[1024] = _T("");
- sprintf(szSQL,"select count(*) as cot from %s",pTableName);
- DWORD nRecordCount = 0;
- _variant_t vtFieldValue;
- bool bResult = false;
- EnterCriticalSection( &m_csAdo );
- bResult = GetADODateBaseStatus();
- if( false == bResult )
- {
- LeaveCriticalSection( &m_csAdo );
- return -1;
- }
- CADORecordset* pRSet = new CADORecordset(m_pADODatabase);
- LeaveCriticalSection( &m_csAdo );
- if( NULL == pRSet )
- {
- //LOG4C((LOG_NOTICE, "GetFieldValueList1 pRSet == NULL"));
- return -1;
- }
-
- bResult = OpenADORecordSet(pRSet, szSQL);
- if( false == bResult )
- {
- //LOG4C((LOG_NOTICE, "GetFieldValueList1 OpenADORecordSet <%s>", pSql));
- DeleteADORecordSet(pRSet);
- return -1;
- }
-
- if( !pRSet->IsFieldNull("cot") )
- {
- pRSet->GetFieldValue("cot", nRecordCount);
- }
- else
- {
- nRecordCount = -1;
- }// end if( !pRSet->IsFieldNull(0) )
- DeleteADORecordSet(pRSet);
- return nRecordCount;
- }
- int AdoImpl::GetClientServiceViewData(__in const TCHAR *pSQL,__out CArray<CStringArray,CStringArray>& strArray,__in const TCHAR *pfilter)
- {
- int nFieldCount = 0;
- int nRecordCount = 0;
- _variant_t vtFieldValue;
- bool bResult = false;
- EnterCriticalSection( &m_csAdo );
- bResult = GetADODateBaseStatus();
- if( false == bResult )
- {
- LeaveCriticalSection( &m_csAdo );
- return -1;
- }
- CADORecordset* pRSet = new CADORecordset(m_pADODatabase);
- LeaveCriticalSection( &m_csAdo );
- if( NULL == pRSet )
- {
- return -1;
- }
- TCHAR szSQL[1024] = _T("");
- if(pfilter && (strcmp(pfilter,"") != 0))
- sprintf(szSQL,"%s where %s",pSQL,pfilter);
- else
- sprintf(szSQL,"%s",pSQL);
- bResult = OpenADORecordSet(pRSet, szSQL);
- if( false == bResult )
- {
- DeleteADORecordSet(pRSet);
- return -1;
- }
- nRecordCount = pRSet->GetRecordCount();
- nFieldCount = pRSet->GetFieldCount();
- strArray.SetSize(nRecordCount,1);
- for( int i = 0; i < nRecordCount; i++ )
- {
- if( !pRSet->IsFieldNull("dindanid") )
- {
- pRSet->GetFieldValue("dindanid", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("name1") )
- {
- pRSet->GetFieldValue("name1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("name2") )
- {
- pRSet->GetFieldValue("name2", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("phone1") )
- {
- pRSet->GetFieldValue("phone1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("addr1") )
- {
- pRSet->GetFieldValue("addr1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("qq1") )
- {
- pRSet->GetFieldValue("qq1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("txtype") )
- {
- pRSet->GetFieldValue("txtype", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("ren") )
- {
- pRSet->GetFieldValue("ren", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("checkcontent") )
- {
- pRSet->GetFieldValue("checkcontent", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("clerk") )
- {
- pRSet->GetFieldValue("clerk", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("useqq") )
- {
- pRSet->GetFieldValue("useqq", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("date") )
- {
- pRSet->GetFieldValue("date", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("question") )
- {
- pRSet->GetFieldValue("question", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("solution") )
- {
- pRSet->GetFieldValue("solution", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("result") )
- {
- pRSet->GetFieldValue("result", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("clientqq") )
- {
- pRSet->GetFieldValue("clientqq", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("contact") )
- {
- pRSet->GetFieldValue("contact", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("time") )
- {
- pRSet->GetFieldValue("time", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("from") )
- {
- pRSet->GetFieldValue("from", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("pinyin1") )
- {
- pRSet->GetFieldValue("pinyin1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("pinyin2") )
- {
- pRSet->GetFieldValue("pinyin2", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- pRSet->MoveNext();
- }// end for( int i = 0; i < nRecordCount; i++ )
- DeleteADORecordSet(pRSet);
- return nRecordCount;
- }
- int AdoImpl::GetClientServiceViewDataEx(__in const TCHAR *pSQL,__out CArray<CStringArray,CStringArray>& strArray,__in const TCHAR *pfilter)
- {
- int nFieldCount = 0;
- int nRecordCount = 0;
- _variant_t vtFieldValue;
- bool bResult = false;
- EnterCriticalSection( &m_csAdo );
- bResult = GetADODateBaseStatus();
- if( false == bResult )
- {
- LeaveCriticalSection( &m_csAdo );
- return -1;
- }
- CADORecordset* pRSet = new CADORecordset(m_pADODatabase);
- LeaveCriticalSection( &m_csAdo );
- if( NULL == pRSet )
- {
- return -1;
- }
- TCHAR szSQL[1024] = _T("");
- if(pfilter && (strcmp(pfilter,"") != 0))
- sprintf(szSQL,"%s where %s",pSQL,pfilter);
- else
- sprintf(szSQL,"%s",pSQL);
- bResult = OpenADORecordSet(pRSet, szSQL);
- if( false == bResult )
- {
- DeleteADORecordSet(pRSet);
- return -1;
- }
- nRecordCount = pRSet->GetRecordCount();
- nFieldCount = pRSet->GetFieldCount();
- strArray.SetSize(nRecordCount,1);
- for( int i = 0; i < nRecordCount; i++ )
- {
- if( !pRSet->IsFieldNull("dindanid") )
- {
- pRSet->GetFieldValue("dindanid", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("name1") )
- {
- pRSet->GetFieldValue("name1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("name2") )
- {
- pRSet->GetFieldValue("name2", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("phone1") )
- {
- pRSet->GetFieldValue("phone1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("addr1") )
- {
- pRSet->GetFieldValue("addr1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("qq1") )
- {
- pRSet->GetFieldValue("qq1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("txtype") )
- {
- pRSet->GetFieldValue("txtype", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("ren") )
- {
- pRSet->GetFieldValue("ren", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("checkcontent") )
- {
- pRSet->GetFieldValue("checkcontent", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("clerk") )
- {
- pRSet->GetFieldValue("clerk", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("useqq") )
- {
- pRSet->GetFieldValue("useqq", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("date") )
- {
- pRSet->GetFieldValue("date", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("from") )
- {
- pRSet->GetFieldValue("from", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("clientqq") )
- {
- pRSet->GetFieldValue("clientqq", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("contact") )
- {
- pRSet->GetFieldValue("contact", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("time") )
- {
- pRSet->GetFieldValue("time", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("question") )
- {
- pRSet->GetFieldValue("question", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("solution") )
- {
- pRSet->GetFieldValue("solution", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("result") )
- {
- pRSet->GetFieldValue("result", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("autoid") )
- {
- pRSet->GetFieldValue("autoid", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("pinyin1") )
- {
- pRSet->GetFieldValue("pinyin1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("pinyin2") )
- {
- pRSet->GetFieldValue("pinyin2", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- strArray.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- strArray.ElementAt(i).Add("");
- }
- pRSet->MoveNext();
- }// end for( int i = 0; i < nRecordCount; i++ )
- DeleteADORecordSet(pRSet);
- return nRecordCount;
- }
- INT AdoImpl::GetCase200And201Data(IN LPCTSTR lpSQL, OUT CArray<CStringArray, CStringArray>& AryData, IN LPCTSTR lpFilters /* = NULL */)
- {
- int nFieldCount = 0;
- int nRecordCount = 0;
- _variant_t vtFieldValue;
- bool bResult = false;
- EnterCriticalSection( &m_csAdo );
- bResult = GetADODateBaseStatus();
- if( false == bResult )
- {
- LeaveCriticalSection( &m_csAdo );
- return -1;
- }
- CADORecordset* pRSet = new CADORecordset(m_pADODatabase);
- LeaveCriticalSection( &m_csAdo );
- if( NULL == pRSet )
- {
- return -1;
- }
- TCHAR szSQL[1024] = _T("");
- if(lpFilters && (strcmp(lpFilters,"") != 0))
- sprintf(szSQL,"%s where %s",lpSQL,lpFilters);
- else
- sprintf(szSQL,"%s",lpSQL);
- bResult = OpenADORecordSet(pRSet, szSQL);
- if( false == bResult )
- {
- DeleteADORecordSet(pRSet);
- return -1;
- }
- nRecordCount = pRSet->GetRecordCount();
- nFieldCount = pRSet->GetFieldCount();
- AryData.SetSize(nRecordCount,1);
- for( int i = 0; i < nRecordCount; i++ )
- {
- if( !pRSet->IsFieldNull("name") )
- {
- pRSet->GetFieldValue("name", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- pRSet->MoveNext();
- }// end for( int i = 0; i < nRecordCount; i++ )
- DeleteADORecordSet(pRSet);
- return nRecordCount;
- }
- INT AdoImpl::GetRenyuanData(IN LPCTSTR lpSQL, OUT CArray<CStringArray, CStringArray>& AryData, IN LPCTSTR lpFilters /* = NULL */)
- {
- int nFieldCount = 0;
- int nRecordCount = 0;
- _variant_t vtFieldValue;
- bool bResult = false;
- EnterCriticalSection( &m_csAdo );
- bResult = GetADODateBaseStatus();
- if( false == bResult )
- {
- LeaveCriticalSection( &m_csAdo );
- return -1;
- }
- CADORecordset* pRSet = new CADORecordset(m_pADODatabase);
- LeaveCriticalSection( &m_csAdo );
- if( NULL == pRSet )
- {
- return -1;
- }
- TCHAR szSQL[1024] = _T("");
- if(lpFilters && (strcmp(lpFilters,"") != 0))
- sprintf(szSQL,"%s where %s",lpSQL,lpFilters);
- else
- sprintf(szSQL,"%s",lpSQL);
- bResult = OpenADORecordSet(pRSet, szSQL);
- if( false == bResult )
- {
- DeleteADORecordSet(pRSet);
- return -1;
- }
- nRecordCount = pRSet->GetRecordCount();
- nFieldCount = pRSet->GetFieldCount();
- AryData.SetSize(nRecordCount,1);
- for( int i = 0; i < nRecordCount; i++ )
- {
- if( !pRSet->IsFieldNull("id") )
- {
- pRSet->GetFieldValue("id", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_name") )
- {
- pRSet->GetFieldValue("staff_name", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_department") )
- {
- pRSet->GetFieldValue("staff_department", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_gender") )
- {
- pRSet->GetFieldValue("staff_gender", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_self_phone") )
- {
- pRSet->GetFieldValue("staff_self_phone", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_family_address") )
- {
- pRSet->GetFieldValue("staff_family_address", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_note") )
- {
- pRSet->GetFieldValue("staff_note", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_native_place") )
- {
- pRSet->GetFieldValue("staff_native_place", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_citizen_id_number") )
- {
- pRSet->GetFieldValue("staff_citizen_id_number", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_married") )
- {
- pRSet->GetFieldValue("staff_married", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_dimission") )
- {
- pRSet->GetFieldValue("staff_dimission", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_fingerprinted1") )
- {
- pRSet->GetFieldValue("staff_fingerprinted1", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("staff_fingerprinted2") )
- {
- pRSet->GetFieldValue("staff_fingerprinted2", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
- if( !pRSet->IsFieldNull("level") )
- {
- pRSet->GetFieldValue("level", vtFieldValue);
- string strFieldValue = string((char*)(_bstr_t)vtFieldValue);
- AryData.ElementAt(i).Add(strFieldValue.c_str());
- }
- else
- {
- AryData.ElementAt(i).Add("");
- }
-
- pRSet->MoveNext();
- }// end for( int i = 0; i < nRecordCount; i++ )
- DeleteADORecordSet(pRSet);
- return nRecordCount;
- }
|