2064 lines
90 KiB
C++
2064 lines
90 KiB
C++
// IOManager.cpp: implementation of the CIOManager class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#include "geomative.h"
|
|
#include "IOManager.h"
|
|
#include "Constant.h"
|
|
#include "ioexpdlg.h"
|
|
|
|
|
|
#ifdef _DEBUG
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[]=__FILE__;
|
|
#define new DEBUG_NEW
|
|
#endif
|
|
extern int g_UIOffset;
|
|
extern BOOL DoEvent(HWND hWnd);
|
|
//////////////////////////////////////////////////////////////////////
|
|
// Construction/Destruction
|
|
//////////////////////////////////////////////////////////////////////
|
|
extern HHOOK hHook;
|
|
extern LRESULT __stdcall CBTHookProc(long nCode, WPARAM wParam, LPARAM lParam);
|
|
CIOManager::CIOManager(_ConnectionPtr& pConnection, ADOX::_CatalogPtr pCatalog)
|
|
{
|
|
ASSERT(NULL != pConnection);
|
|
m_pConnection = pConnection;
|
|
m_pCatalog = pCatalog;
|
|
}
|
|
|
|
CIOManager::~CIOManager()
|
|
{
|
|
|
|
}
|
|
|
|
UINT CIOManager::Export()
|
|
{
|
|
UINT uExecCode = (UINT)VAL_ZERO;
|
|
INT_PTR lRet = (long)VAL_ZERO;
|
|
_ConnectionPtr pExpConnection = NULL;
|
|
|
|
CIOExpDlg* pIOExpDlg = new CIOExpDlg((INT_PTR*)&lRet);
|
|
|
|
pIOExpDlg->Create(IDD_IO_EXP, AfxGetMainWnd());
|
|
|
|
// InitialExpDmsTree(pIOExpDlg->m_ioDmsDlg.m_dmsTree);
|
|
// InitialExpSptList(pIOExpDlg->m_ioSptDlg.m_sptList);
|
|
|
|
pIOExpDlg->ShowWindow(SW_SHOW);
|
|
|
|
while (!lRet)
|
|
{
|
|
DoEvent(pIOExpDlg->m_hWnd);
|
|
}
|
|
|
|
switch (lRet)
|
|
{
|
|
case RET_OK:
|
|
try
|
|
{
|
|
pExpConnection = CreateExpDatabase(pIOExpDlg->m_szFileName);
|
|
if (NULL != pExpConnection)
|
|
{
|
|
pExpConnection->BeginTrans();
|
|
|
|
ExportDataToAccdbFile(pExpConnection, pIOExpDlg->m_ioDmsDlg.m_dmsTree);
|
|
ExportSptToAccdbFile(pExpConnection, pIOExpDlg->m_ioSptDlg.m_sptList);
|
|
}
|
|
else
|
|
{
|
|
DeleteFile(pIOExpDlg->m_szFileName);
|
|
uExecCode = APP_FAIL;
|
|
break;
|
|
}
|
|
|
|
pExpConnection->CommitTrans();
|
|
pExpConnection->Close();
|
|
|
|
uExecCode = APP_SUCCESS;
|
|
}
|
|
catch (_com_error e)
|
|
{
|
|
pExpConnection->RollbackTrans();
|
|
pExpConnection->Close();
|
|
DeleteFile(pIOExpDlg->m_szFileName);
|
|
uExecCode = APP_FAIL;
|
|
}
|
|
break;
|
|
case RET_CANCEL:
|
|
uExecCode = APP_CANCLE;
|
|
break;
|
|
default:
|
|
uExecCode = APP_FAIL;
|
|
break;
|
|
}
|
|
|
|
pIOExpDlg->DestroyWindow();
|
|
delete pIOExpDlg;
|
|
return uExecCode;
|
|
}
|
|
|
|
UINT CIOManager::Import()
|
|
{
|
|
_RecordsetPtr pRecDBVersion = NULL;
|
|
|
|
TCHAR szFilePath[MAX_PATH + 1];
|
|
CString szFileName = _T("");
|
|
CString szCurFilePath = _T("");
|
|
CString szCaption = _T("");
|
|
CString szConnection = _T("");
|
|
|
|
_ConnectionPtr pImpConnection = NULL;
|
|
|
|
GetModuleFileName(NULL, szFilePath, MAX_PATH);
|
|
(_tcsrchr(szFilePath, _T('\\')))[1] = 0;
|
|
|
|
szCurFilePath.Empty();
|
|
szCurFilePath = szFilePath;
|
|
|
|
CFileDialog dlgOpenFile(TRUE , _T("accdb"), NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_NOCHANGEDIR, _T("Access 2007 DataBase Files (*.accdb)|*.accdb||"));
|
|
|
|
szCaption.Empty();
|
|
szCaption.LoadString(IDS_OPEN);
|
|
dlgOpenFile.m_ofn.lpstrTitle = szCaption;
|
|
|
|
dlgOpenFile.m_ofn.lpstrInitialDir = szCurFilePath;
|
|
|
|
if (dlgOpenFile.DoModal() == IDOK)
|
|
{
|
|
szFileName.Empty();
|
|
szFileName = dlgOpenFile.GetPathName();
|
|
|
|
try
|
|
{
|
|
szConnection.Empty();
|
|
// szConnection.Format("Provider='Microsoft.ACE.OLEDB.12.0';Data source = %s", szFileName);
|
|
szConnection.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Jet OLEDB:Database Password=bsgeomative;", szFileName);
|
|
|
|
pImpConnection.CreateInstance(_uuidof(Connection));
|
|
|
|
pImpConnection->Open(szConnection.AllocSysString(), "", "", adModeUnknown);
|
|
pImpConnection->GetProperties()->GetItem(_variant_t("Jet OLEDB:Max Locks Per File"))->PutValue(_variant_t((long)50000,VT_I4));
|
|
pRecDBVersion.CreateInstance(_uuidof(Recordset));
|
|
pRecDBVersion->Open(_T("select * from dbversion where VK = 'SZBESTING EXPORT DATABASE 1.0.0.0'"),
|
|
_variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO == pRecDBVersion->GetRecordCount())
|
|
{
|
|
pRecDBVersion->Close();
|
|
pImpConnection->Close();
|
|
szCaption.Empty();
|
|
szCaption.LoadString(IDS_FILE_ERROR);
|
|
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
|
|
if (OFFSET_CHINESE == g_UIOffset)
|
|
AfxMessageBox(szCaption, MB_ICONINFORMATION);
|
|
else
|
|
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
return APP_CANCLE;
|
|
}
|
|
|
|
pRecDBVersion->Close();
|
|
}
|
|
catch (_com_error e)
|
|
{
|
|
pImpConnection->Close();
|
|
szCaption.Empty();
|
|
szCaption.LoadString(IDS_FILE_ERROR);
|
|
hHook = SetWindowsHookEx(WH_CBT,(HOOKPROC)CBTHookProc,AfxGetInstanceHandle(),NULL);
|
|
if (OFFSET_CHINESE == g_UIOffset)
|
|
AfxMessageBox(szCaption, MB_ICONINFORMATION);
|
|
else
|
|
MessageBoxEx(NULL, szCaption, STRING_MESSAGEBOXEX_TITLE, MB_ICONINFORMATION, MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US));
|
|
return APP_CANCLE;
|
|
}
|
|
|
|
try
|
|
{
|
|
m_pConnection->BeginTrans();
|
|
|
|
ImportProjectToDB(pImpConnection);
|
|
ImportTzToDB(pImpConnection);
|
|
|
|
ImportSptToDB(pImpConnection);
|
|
|
|
ImportRspTdToDB(pImpConnection);
|
|
ImportIpspTdToDB(pImpConnection);
|
|
|
|
m_pConnection->CommitTrans();
|
|
pImpConnection->Close();
|
|
|
|
}
|
|
catch (_com_error e)
|
|
{
|
|
m_pConnection->RollbackTrans();
|
|
pImpConnection->Close();
|
|
|
|
return APP_FAIL;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return APP_CANCLE;
|
|
}
|
|
return APP_SUCCESS;
|
|
}
|
|
|
|
_ConnectionPtr CIOManager::CreateExpDatabase(CString szFileName)
|
|
{
|
|
ADOX::_TablePtr pTabExp = NULL;
|
|
_ConnectionPtr pExpConnection = NULL;
|
|
_CommandPtr pCmdIns = NULL;
|
|
|
|
CString szSql = _T("");
|
|
CString szConnection = _T("");
|
|
|
|
DeleteFile(szFileName);
|
|
|
|
szConnection.Empty();
|
|
// szConnection.Format("Provider='Microsoft.ACE.OLEDB.12.0';Data source = %s", szFileName);
|
|
szConnection.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=%s;Jet OLEDB:Database Password=bsgeomative;", szFileName);
|
|
|
|
m_pCatalog->Create((_bstr_t)szConnection.AllocSysString());
|
|
pExpConnection = m_pCatalog->GetActiveConnection();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("project"));
|
|
pTabExp->Columns->Append(_T("CN"), ADOX::adVarWChar, 40);
|
|
pTabExp->Columns->Append(_T("PRname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("PRdesc"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->GetItem(_T("PRdesc"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("location"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->GetItem(_T("location"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("PRdate"), ADOX::adDate, 0);
|
|
pTabExp->Columns->GetItem(_T("PRdate"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("duration"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("duration"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("PS"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("PS"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CS"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("CS"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("PM"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("PM"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("QAS"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("QAS"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("standard"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->GetItem(_T("standard"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("tz"));
|
|
|
|
pTabExp->Columns->Append(_T("TZname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("PRCN"), ADOX::adVarWChar, 40);
|
|
|
|
pTabExp->Columns->Append(_T("TZdesc"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->GetItem(_T("TZdesc"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("location"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->GetItem(_T("location"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("td"));
|
|
|
|
pTabExp->Columns->Append(_T("TDname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("DESN"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->Append(_T("PRCN"), ADOX::adVarWChar, 40);
|
|
pTabExp->Columns->Append(_T("TZname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("SCCN"), ADOX::adVarWChar, 24);
|
|
pTabExp->Columns->Append(_T("TDtype"), ADOX::adSmallInt, 0);
|
|
|
|
pTabExp->Columns->Append(_T("HFname"), ADOX::adVarWChar, 30);
|
|
pTabExp->Columns->GetItem(_T("HFname"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CFname"), ADOX::adVarWChar, 30);
|
|
pTabExp->Columns->GetItem(_T("CFname"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CFRamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("CFRamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("GRFname"), ADOX::adVarWChar, 30);
|
|
pTabExp->Columns->GetItem(_T("GRFname"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("GRFRamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("GRFRamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("tdhead"));
|
|
pTabExp->Columns->Append(_T("TDname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("DESN"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->Append(_T("Cdate"), ADOX::adDate, 0);
|
|
pTabExp->Columns->GetItem(_T("Cdate"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Ctime"), ADOX::adDate, 0);
|
|
pTabExp->Columns->GetItem(_T("Ctime"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("rolling"), ADOX::adBoolean, 0);
|
|
pTabExp->Columns->GetItem(_T("rolling"))->Properties->GetItem(_T("Default"))->Value = false;
|
|
|
|
pTabExp->Columns->Append(_T("RCamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("RCamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Rdirection"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("Rdirection"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CRtime"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("CRtime"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CPE"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->GetItem(_T("CPE"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CPN"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->GetItem(_T("CPN"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("weather"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("weather"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("temperature"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("temperature"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("height"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("height"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("humidity"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("humidity"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("PM"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("PM"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("OP"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("OP"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("QA"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("QA"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
|
|
pTabExp->Release();
|
|
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("parameter"));
|
|
pTabExp->Columns->Append(_T("TDname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("DESN"), ADOX::adVarWChar, 50);
|
|
|
|
pTabExp->Columns->Append(_T("LCHamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("LCHamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("RCHamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("RCHamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("LCamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("LCamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("RCamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("RCamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("LEamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("LEamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("REamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("REamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Felectrode"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("Felectrode"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Espacing"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("Espacing"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Clayout"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("Clayout"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CLfun"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("CLfun"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
pTabExp->Release();
|
|
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("rspcon"));
|
|
pTabExp->Columns->Append(_T("TDname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("DESN"), ADOX::adVarWChar, 50);
|
|
|
|
pTabExp->Columns->Append(_T("A"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("A"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("B"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("B"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("M"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("N"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("N"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("K"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("K"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("SP"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("SP"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Ro"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Ro"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Vp"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Vp"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Ip"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Ip"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("SD"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("SD"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("RgA"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("RgA"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("RgB"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("RgB"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("RgM"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("RgM"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("RgN"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("RgN"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Ttime"), ADOX::adDate, 0);
|
|
pTabExp->Columns->GetItem(_T("Ttime"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("ipspcon"));
|
|
pTabExp->Columns->Append(_T("TDname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("DESN"), ADOX::adVarWChar, 50);
|
|
|
|
pTabExp->Columns->Append(_T("SP"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("SP"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Ro"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Ro"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("VP"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("VP"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("IP"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("IP"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M1"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("M1"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M2"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("M2"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M3"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("M3"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M4"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("M4"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M5"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("M5"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M6"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("M6"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("M7"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("M7"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("TH"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("TH"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("D"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("D"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Zp"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Zp"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("FG"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("FG"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Am"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Am"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Bm"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Bm"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Cm"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Cm"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("Dm"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("Dm"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("R"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("R"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("gr"));
|
|
|
|
pTabExp->Columns->Append(_T("TDname"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->Append(_T("DESN"), ADOX::adVarWChar, 50);
|
|
|
|
pTabExp->Columns->Append(_T("electrode"), ADOX::adVarWChar, 5);
|
|
pTabExp->Columns->GetItem(_T("electrode"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CableH"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("CableH"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CableT"), ADOX::adVarWChar, 10);
|
|
pTabExp->Columns->GetItem(_T("CableT"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("P1GR"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("P1GR"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("P2GR"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("P2GR"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("scon"));
|
|
|
|
pTabExp->Columns->Append(_T("CN"), ADOX::adVarWChar, 40);
|
|
pTabExp->Columns->Append(_T("Sname"), ADOX::adVarWChar, 20);
|
|
|
|
pTabExp->Columns->Append(_T("Eamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("Eamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("CHamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("CHamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("TPamount"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("TPamount"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("definer"), ADOX::adVarWChar, 20);
|
|
pTabExp->Columns->GetItem(_T("definer"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("DEdate"), ADOX::adDate, 0);
|
|
pTabExp->Columns->GetItem(_T("DEdate"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("SCdesc"), ADOX::adVarWChar, 50);
|
|
pTabExp->Columns->GetItem(_T("SCdesc"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
pTabExp->PutName(_T("channel"));
|
|
|
|
pTabExp->Columns->Append(_T("CN"), ADOX::adVarWChar, 40);
|
|
|
|
pTabExp->Columns->Append(_T("CHnumber"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("CHnumber"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("AR"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("AR"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("script"));
|
|
pTabExp->Columns->Append(_T("CN"), ADOX::adVarWChar, 40);
|
|
|
|
pTabExp->Columns->Append(_T("CHnumber"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->Append(_T("TSN"), ADOX::adSmallInt, 0);
|
|
|
|
pTabExp->Columns->Append(_T("C1"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("C1"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("C2"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("C2"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("P1"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("P1"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("P2"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("P2"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("K"), ADOX::adSingle, 0);
|
|
pTabExp->Columns->GetItem(_T("K"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
pTabExp->Columns->Append(_T("N"), ADOX::adSmallInt, 0);
|
|
pTabExp->Columns->GetItem(_T("N"))->Properties->GetItem(_T("Nullable"))->Value = true;
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
pTabExp->Release();
|
|
|
|
pTabExp.CreateInstance(_uuidof(ADOX::Table));
|
|
pTabExp->PutParentCatalog(m_pCatalog);
|
|
|
|
pTabExp->PutName(_T("dbversion"));
|
|
pTabExp->Columns->Append(_T("VK"), ADOX::adVarWChar, 50);
|
|
|
|
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTabExp));
|
|
pTabExp->Release();
|
|
|
|
pTabExp.Release();
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = pExpConnection;
|
|
|
|
szSql.Empty();
|
|
szSql = _T("insert into dbversion(VK) values('SZBESTING EXPORT DATABASE 1.0.0.0')");
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
return pExpConnection;
|
|
}
|
|
|
|
void CIOManager::ExportDataToAccdbFile(_ConnectionPtr pExpConnection, CTreeCtrl& dmsTree)
|
|
{
|
|
HTREEITEM hProNextItem = NULL;
|
|
HTREEITEM hProChildItem = NULL;
|
|
|
|
HTREEITEM hTzNextItem = NULL;
|
|
HTREEITEM hTzChildItem = NULL;
|
|
|
|
HTREEITEM hTdNextItem = NULL;
|
|
HTREEITEM hTdChildItem = NULL;
|
|
|
|
DWORD dwProID = (DWORD)VAL_ZERO;
|
|
DWORD dwTzID = (DWORD)VAL_ZERO;
|
|
DWORD dwTdID = (DWORD)VAL_ZERO;
|
|
|
|
UINT uTdStyle = (UINT)VAL_ZERO;
|
|
|
|
hProNextItem = dmsTree.GetRootItem();
|
|
while (NULL != hProNextItem)
|
|
{
|
|
if (dmsTree.GetCheck(hProNextItem) == TRUE)
|
|
{
|
|
dwProID = m_handleProcessor.GetIDFromHandle(dmsTree.GetItemData(hProNextItem));
|
|
|
|
ExportProjectToAccdbFile(pExpConnection, dwProID);
|
|
|
|
if (dmsTree.ItemHasChildren(hProNextItem))
|
|
{
|
|
hTzNextItem = dmsTree.GetChildItem(hProNextItem);
|
|
while (NULL != hTzNextItem)
|
|
{
|
|
if (dmsTree.GetCheck(hTzNextItem) == TRUE)
|
|
{
|
|
dwTzID = m_handleProcessor.GetIDFromHandle(dmsTree.GetItemData(hTzNextItem));
|
|
|
|
ExportTzToAccdbFile(pExpConnection, dwTzID);
|
|
|
|
if (dmsTree.ItemHasChildren(hTzNextItem))
|
|
{
|
|
hTdNextItem = dmsTree.GetChildItem(hTzNextItem);
|
|
while (NULL != hTdNextItem)
|
|
{
|
|
if (dmsTree.GetCheck(hTdNextItem) == TRUE)
|
|
{
|
|
uTdStyle = m_handleProcessor.GetStyleFromHandle(dmsTree.GetItemData(hTdNextItem));
|
|
dwTdID = m_handleProcessor.GetIDFromHandle(dmsTree.GetItemData(hTdNextItem));
|
|
|
|
switch (uTdStyle)
|
|
{
|
|
case PZ_STYLE_TD_2DRSP:
|
|
ExportRspTdToAccdbFile(pExpConnection, dwTdID);
|
|
break;
|
|
case PZ_STYLE_TD_2DIPSP:
|
|
ExportIpspTdToAccdbFile(pExpConnection, dwTdID);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
hTdNextItem = dmsTree.GetNextSiblingItem(hTdNextItem);
|
|
}
|
|
}
|
|
}
|
|
hTzNextItem = dmsTree.GetNextSiblingItem(hTzNextItem);
|
|
}
|
|
}
|
|
}
|
|
hProNextItem = dmsTree.GetNextSiblingItem(hProNextItem);
|
|
}
|
|
}
|
|
|
|
void CIOManager::InitialExpDmsTree(CTreeCtrl &dmsTree)
|
|
{
|
|
_RecordsetPtr pRecPro = NULL;
|
|
_RecordsetPtr pRecTz = NULL;
|
|
_RecordsetPtr pRecTd = NULL;
|
|
|
|
HTREEITEM hProItem = NULL;
|
|
HTREEITEM hTzItem = NULL;
|
|
HTREEITEM hTdItem = NULL;
|
|
HTREEITEM hParentItem = NULL;
|
|
|
|
DWORD dwHandle = (DWORD)VAL_ZERO;
|
|
UINT uImageState = (UINT)VAL_ZERO;
|
|
UINT uTdImageState = (UINT)VAL_ZERO;
|
|
CString szSql;
|
|
|
|
dmsTree.DeleteAllItems();
|
|
|
|
uImageState = m_stateProcessor.ChangeToImageState(PZ_STATE_DB);
|
|
uTdImageState = m_stateProcessor.ChangeToImageState(PZ_STATE_LOC);
|
|
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
pRecTz.CreateInstance(_uuidof(Recordset));
|
|
pRecTd.CreateInstance(_uuidof(Recordset));
|
|
|
|
|
|
pRecPro->Open(_T("select ID,PRname,CN from project order by ID"), _variant_t((IDispatch*)m_pConnection, true),
|
|
adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecPro->adoEOF)
|
|
{
|
|
|
|
hProItem = dmsTree.InsertItem((LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("PRname")));
|
|
|
|
dwHandle = m_handleProcessor.GenerateHandle((DWORD)pRecPro->GetCollect(_T("ID")).ulVal, PZ_STYLE_PRO);
|
|
dmsTree.SetItemData(hProItem, dwHandle);
|
|
dmsTree.SetItemState(hProItem, uImageState, TVIS_STATEIMAGEMASK);
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID,TZname from tz where PRID = %s order by ID" ),
|
|
pRecPro->GetCollect(_T("ID")).vt == VT_NULL ? _T("-1") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("ID")));
|
|
pRecTz->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true),
|
|
adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecTz->adoEOF)
|
|
{
|
|
hTzItem = dmsTree.InsertItem((pRecTz->GetCollect(_T("TZname")).vt == VT_NULL) ? _T("") : (LPCTSTR)(_bstr_t)pRecTz->GetCollect(_T("TZname")), hProItem);
|
|
dwHandle = m_handleProcessor.GenerateHandle((DWORD)pRecTz->GetCollect(_T("ID")).ulVal, PZ_STYLE_TZ);
|
|
dmsTree.SetItemData(hTzItem, dwHandle);
|
|
dmsTree.SetItemState(hTzItem, uImageState, TVIS_STATEIMAGEMASK);
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID,TDname,TDtype from td where TZID = %s order by ID"),
|
|
pRecTz->GetCollect(_T("ID")).vt == VT_NULL ? _T("-1") : (LPCTSTR)(_bstr_t)pRecTz->GetCollect(_T("ID")));
|
|
pRecTd->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true),
|
|
adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecTd->adoEOF)
|
|
{
|
|
hTdItem = dmsTree.InsertItem(pRecTd->GetCollect(_T("TDname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("TDname")), hTzItem);
|
|
switch (pRecTd->GetCollect(_T("TDtype")).iVal)
|
|
{
|
|
case 0:
|
|
dwHandle = m_handleProcessor.GenerateHandle((DWORD)pRecTd->GetCollect(_T("ID")).ulVal, PZ_STYLE_TD_2DRSP);
|
|
break;
|
|
case 1:
|
|
dwHandle = m_handleProcessor.GenerateHandle((DWORD)pRecTd->GetCollect(_T("ID")).ulVal, PZ_STYLE_TD_2DIPSP);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
dmsTree.SetItemData(hTdItem, dwHandle);
|
|
dmsTree.SetItemState(hTdItem, uTdImageState, TVIS_STATEIMAGEMASK);
|
|
|
|
pRecTd->MoveNext();
|
|
} //while (VAL_ZERO == pRecTd->adoEOF)
|
|
pRecTd->Close();
|
|
hParentItem = dmsTree.GetParentItem(hTdItem);
|
|
if (hParentItem != NULL)
|
|
{
|
|
dmsTree.Expand(hParentItem, TVE_EXPAND);
|
|
hParentItem = NULL;
|
|
} //if (hParentItem != NULL)
|
|
|
|
pRecTz->MoveNext();
|
|
} //while (VAL_ZERO == pRecTz->adoEOF)
|
|
pRecTz->Close();
|
|
|
|
hParentItem = dmsTree.GetParentItem(hTzItem);
|
|
// ASSERT(hParentItem != NULL);
|
|
if (hParentItem != NULL)
|
|
{
|
|
dmsTree.Expand(hParentItem, TVE_EXPAND);
|
|
hParentItem = NULL;
|
|
} //if (hParentItem != NULL)
|
|
|
|
pRecPro->MoveNext();
|
|
} //while (VAL_ZERO == pRecPro->adoEOF)
|
|
pRecPro->Close();
|
|
|
|
dmsTree.SelectSetFirstVisible(dmsTree.GetRootItem());
|
|
}
|
|
|
|
void CIOManager::InitialExpSptList(CListCtrl &sptList)
|
|
{
|
|
_RecordsetPtr pRecSptList = NULL;
|
|
_RecordsetPtr pRecSCon = NULL;
|
|
_RecordsetPtr pRecMed = NULL;
|
|
|
|
DWORD dwSptHandle = (DWORD)VAL_ZERO;
|
|
|
|
int iIndex = (int)VAL_ZERO;
|
|
CString szSql;
|
|
CString szLabel;
|
|
|
|
pRecMed.CreateInstance(_uuidof(Recordset));
|
|
pRecSptList.CreateInstance(_uuidof(Recordset));
|
|
pRecSCon.CreateInstance(_uuidof(Recordset));
|
|
|
|
pRecSptList->Open(_T("select ID,CN,Sname,Stype,Eamount,CHamount,TPamount,definer,Format(DEdate,'YYYY-MM-DD') as DEdate,SCdesc from scon"),
|
|
_variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecSptList->adoEOF)
|
|
{
|
|
sptList.InsertItem(iIndex, pRecSptList->GetCollect(_T("CN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("CN")));
|
|
|
|
sptList.SetItemText(iIndex, 1, pRecSptList->GetCollect(_T("Sname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("Sname")));
|
|
|
|
sptList.SetItemText(iIndex, 2, pRecSptList->GetCollect(_T("Eamount")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("Eamount")));
|
|
sptList.SetItemText(iIndex, 3, pRecSptList->GetCollect(_T("CHamount")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("CHamount")));
|
|
|
|
sptList.SetItemText(iIndex, 4, pRecSptList->GetCollect(_T("TPamount")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("TPamount")));
|
|
sptList.SetItemText(iIndex, 5, pRecSptList->GetCollect(_T("definer")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("definer")));
|
|
sptList.SetItemText(iIndex, 6, pRecSptList->GetCollect(_T("DEdate")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("DEdate")));
|
|
|
|
sptList.SetItemText(iIndex, 7, pRecSptList->GetCollect(_T("SCdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("SCdesc")));
|
|
|
|
switch ((int)pRecSptList->GetCollect(_T("Stype")).iVal)
|
|
{
|
|
case 0:
|
|
dwSptHandle = m_handleProcessor.GenerateHandle((DWORD)pRecSptList->GetCollect(_T("ID")).ulVal, PZ_STYLE_SCON_CE);
|
|
break;
|
|
case 1:
|
|
dwSptHandle = m_handleProcessor.GenerateHandle((DWORD)pRecSptList->GetCollect(_T("ID")).ulVal, PZ_STYLE_SCON_2D);
|
|
break;
|
|
case 2:
|
|
dwSptHandle = m_handleProcessor.GenerateHandle((DWORD)pRecSptList->GetCollect(_T("ID")).ulVal, PZ_STYLE_SCON_3D);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
sptList.SetItemData(iIndex, dwSptHandle);
|
|
|
|
iIndex++;
|
|
|
|
pRecSptList->MoveNext();
|
|
|
|
} //while (VAL_ZERO == pRecProID->adoEOF)
|
|
pRecSptList->Close();
|
|
|
|
sptList.SetHotItem((int)VAL_ZERO);
|
|
}
|
|
|
|
void CIOManager::ExportProjectToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwProID)
|
|
{
|
|
_RecordsetPtr pRecPro = NULL;
|
|
_CommandPtr pCmdInsPro = NULL;
|
|
|
|
CString szSql;
|
|
CString szPRdate;
|
|
|
|
pCmdInsPro.CreateInstance(_uuidof(Command));
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdInsPro->ActiveConnection = pExpConnection;
|
|
|
|
szSql.Empty();
|
|
|
|
szSql.Format(_T("select CN,PRname,PRdesc,location,Format(PRdate,'YYYY-MM-DD') as PRdate,duration,PS,CS,PM,QAS,standard from project where ID = %u"), dwProID);
|
|
pRecPro->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((short)VAL_ZERO != pRecPro->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
|
|
szSql.Format(_T("insert into project(CN,PRname,PRdesc,location,PRdate,duration,PS,CS,PM,QAS,standard) values('%s','%s','%s','%s',#%s#,%d,'%s','%s','%s','%s','%s')"),
|
|
pRecPro->GetCollect(_T("CN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("CN")),
|
|
pRecPro->GetCollect(_T("PRname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("PRname")),
|
|
pRecPro->GetCollect(_T("PRdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("PRdesc")),
|
|
pRecPro->GetCollect(_T("location")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("location")),
|
|
pRecPro->GetCollect(_T("PRdate")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("PRdate")),
|
|
pRecPro->GetCollect(_T("duration")).vt == VT_NULL ? (int)VAL_ZERO : pRecPro->GetCollect(_T("duration")).ulVal,
|
|
pRecPro->GetCollect(_T("PS")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("PS")),
|
|
pRecPro->GetCollect(_T("CS")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("CS")),
|
|
pRecPro->GetCollect(_T("PM")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("PM")),
|
|
pRecPro->GetCollect(_T("QAS")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("QAS")),
|
|
pRecPro->GetCollect(_T("standard")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("standard")));
|
|
|
|
pCmdInsPro->CommandText = szSql.AllocSysString();
|
|
pCmdInsPro->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
pRecPro->Close();
|
|
}
|
|
|
|
void CIOManager::ExportTzToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTzID)
|
|
{
|
|
DWORD dwProID = (DWORD)VAL_ZERO;
|
|
|
|
CString szSql;
|
|
|
|
_CommandPtr pCmdInsTz = NULL;
|
|
_RecordsetPtr pRecPro = NULL;
|
|
_RecordsetPtr pRecTz = NULL;
|
|
|
|
pCmdInsTz.CreateInstance(_uuidof(Command));
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
pRecTz.CreateInstance(_uuidof(Recordset));
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select PRID,TZname,TZdesc,location from tz where ID = %u"), dwTzID);
|
|
pRecTz->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecTz->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format("select CN from project where ID = %u", pRecTz->GetCollect(_T("PRID")).ulVal);
|
|
pRecPro->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecPro->GetRecordCount())
|
|
{
|
|
pCmdInsTz->ActiveConnection = pExpConnection;
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into tz(PRCN,TZname,location,TZdesc) values('%s','%s','%s','%s')"),
|
|
pRecPro->GetCollect(_T("CN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("CN")),
|
|
pRecTz->GetCollect(_T("TZname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTz->GetCollect(_T("TZname")),
|
|
pRecTz->GetCollect(_T("location")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTz->GetCollect(_T("location")),
|
|
pRecTz->GetCollect(_T("TZdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTz->GetCollect(_T("TZdesc")));
|
|
pCmdInsTz->CommandText = szSql.AllocSysString();
|
|
pCmdInsTz->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
}
|
|
pRecTz->Close();
|
|
}
|
|
|
|
void CIOManager::ExportRspTdToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTdID)
|
|
{
|
|
_RecordsetPtr pRecRspCon = NULL;
|
|
_RecordsetPtr pRecGr = NULL;
|
|
_CommandPtr pCmdIns = NULL;
|
|
|
|
CString szTdName = _T("");
|
|
CString szDeSn = _T("");
|
|
CString szSql = _T("");
|
|
|
|
ExportTdHeadInfoToAccdbFile(pExpConnection, dwTdID, szTdName, szDeSn);
|
|
|
|
pRecRspCon.CreateInstance(_uuidof(Recordset));
|
|
pRecGr.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = pExpConnection;
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select A,B,M,N,K,SP,Ro,Vp,Ip,SD,RgA,RgB,RgM,RgN,Ttime from rspcon where TDID = %u order by Ttime", dwTdID);
|
|
pRecRspCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecRspCon->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into rspcon(TDname,DESN,A,B,M,N,K,SP,Ro,Vp,Ip,SD,RgA,RgB,RgM,RgN,Ttime) values('%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"),
|
|
szTdName,
|
|
szDeSn,
|
|
pRecRspCon->GetCollect(_T("A")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("A")),
|
|
pRecRspCon->GetCollect(_T("B")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("B")),
|
|
pRecRspCon->GetCollect(_T("M")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("M")),
|
|
pRecRspCon->GetCollect(_T("N")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("N")),
|
|
pRecRspCon->GetCollect(_T("K")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("K")),
|
|
pRecRspCon->GetCollect(_T("SP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("SP")),
|
|
pRecRspCon->GetCollect(_T("Ro")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("Ro")),
|
|
pRecRspCon->GetCollect(_T("Vp")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("Vp")),
|
|
pRecRspCon->GetCollect(_T("Ip")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("Ip")),
|
|
pRecRspCon->GetCollect(_T("SD")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("SD")),
|
|
pRecRspCon->GetCollect(_T("Rg-A")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("RgA")),
|
|
pRecRspCon->GetCollect(_T("Rg-B")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("RgB")),
|
|
pRecRspCon->GetCollect(_T("Rg-M")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("RgM")),
|
|
pRecRspCon->GetCollect(_T("Rg-N")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("RgN")),
|
|
pRecRspCon->GetCollect(_T("Ttime")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecRspCon->GetCollect(_T("Ttime")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
pRecRspCon->MoveNext();
|
|
}
|
|
|
|
pRecRspCon->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select electrode,CableH,CableT,P1GR,P2GR from gr where TDID = %u"), dwTdID);
|
|
pRecGr->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecGr->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into gr(TDname,DESN,electrode,CableH,CableT,P1GR,P2GR) values('%s','%s','%s','%s','%s',%s,%s)"),
|
|
szTdName,
|
|
szDeSn,
|
|
pRecGr->GetCollect(_T("electrode")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("electrode")),
|
|
pRecGr->GetCollect(_T("CableH")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("CableH")),
|
|
pRecGr->GetCollect(_T("CableT")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("CableT")),
|
|
pRecGr->GetCollect(_T("P1GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("P1GR")),
|
|
pRecGr->GetCollect(_T("P2GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("P2GR")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecGr->MoveNext();
|
|
}
|
|
|
|
pRecGr->Close();
|
|
}
|
|
|
|
void CIOManager::ExportIpspTdToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTdID)
|
|
{
|
|
_RecordsetPtr pRecIpspCon = NULL;
|
|
_RecordsetPtr pRecGr = NULL;
|
|
_CommandPtr pCmdIns = NULL;
|
|
|
|
CString szTdName = _T("");
|
|
CString szDeSn = _T("");
|
|
CString szSql = _T("");
|
|
ExportTdHeadInfoToAccdbFile(pExpConnection, dwTdID, szTdName, szDeSn);
|
|
|
|
pRecIpspCon.CreateInstance(_uuidof(Recordset));
|
|
pRecGr.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = pExpConnection;
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select SP,Ro,VP,IP,M1,M2,M3,M4,M5,M6,M7,TH,D,Zp,FG,Am,Bm,Cm,Dm,r from ipspcon where TDID =%u", dwTdID);
|
|
pRecIpspCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecIpspCon->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into rspcon(TDname,DESN,SP,Ro,VP,IP,M1,M2,M3,M4,M5,M6,M7,TH,D,Zp,FG,Am,Bm,Cm,Dm,r) values('%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"),
|
|
szTdName,
|
|
szDeSn,
|
|
pRecIpspCon->GetCollect(_T("SP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("SP")),
|
|
pRecIpspCon->GetCollect(_T("Ro")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("Ro")),
|
|
pRecIpspCon->GetCollect(_T("VP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("VP")),
|
|
pRecIpspCon->GetCollect(_T("IP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("IP")),
|
|
pRecIpspCon->GetCollect(_T("M1")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("M1")),
|
|
pRecIpspCon->GetCollect(_T("M2")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("M2")),
|
|
pRecIpspCon->GetCollect(_T("M3")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("M3")),
|
|
pRecIpspCon->GetCollect(_T("M4")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("M4")),
|
|
pRecIpspCon->GetCollect(_T("M5")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("M5")),
|
|
pRecIpspCon->GetCollect(_T("M6")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("M6")),
|
|
pRecIpspCon->GetCollect(_T("M7")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("M7")),
|
|
pRecIpspCon->GetCollect(_T("TH")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("TH")),
|
|
pRecIpspCon->GetCollect(_T("D")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("D")),
|
|
pRecIpspCon->GetCollect(_T("Zp")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("Zp")),
|
|
pRecIpspCon->GetCollect(_T("FG")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("FG")),
|
|
pRecIpspCon->GetCollect(_T("Am")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("Am")),
|
|
pRecIpspCon->GetCollect(_T("Bm")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("Bm")),
|
|
pRecIpspCon->GetCollect(_T("Cm")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("Cm")),
|
|
pRecIpspCon->GetCollect(_T("Dm")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("Dm")),
|
|
pRecIpspCon->GetCollect(_T("r")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecIpspCon->GetCollect(_T("r")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
pRecIpspCon->MoveNext();
|
|
}
|
|
|
|
pRecIpspCon->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select electrode,CableH,CableT,P1GR,P2GR from gr where TDID = %u"), dwTdID);
|
|
pRecGr->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecGr->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into gr(TDname,DESN,electrode,CableH,CableT,P1GR,P2GR) values('%s','%s','%s','%s','%s',%s,%s)"),
|
|
szTdName,
|
|
szDeSn,
|
|
pRecGr->GetCollect(_T("electrode")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("electrode")),
|
|
pRecGr->GetCollect(_T("CableH")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("CableH")),
|
|
pRecGr->GetCollect(_T("CableT")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("CableT")),
|
|
pRecGr->GetCollect(_T("P1GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("P1GR")),
|
|
pRecGr->GetCollect(_T("P2GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecGr->GetCollect(_T("P2GR")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecGr->MoveNext();
|
|
}
|
|
|
|
pRecGr->Close();
|
|
}
|
|
|
|
void CIOManager::ExportTdHeadInfoToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTdID, CString& szTdName, CString& szDeSn)
|
|
{
|
|
_RecordsetPtr pRecPro = NULL;
|
|
_RecordsetPtr pRecTz = NULL;
|
|
_RecordsetPtr pRecTd = NULL;
|
|
_RecordsetPtr pRecTdHead = NULL;
|
|
_RecordsetPtr pRecPara = NULL;
|
|
|
|
_CommandPtr pCmdIns = NULL;
|
|
|
|
CString szTzName;
|
|
CString szPrCn;
|
|
|
|
CString szSql;
|
|
|
|
DWORD dwPaID = (DWORD)VAL_ZERO;
|
|
DWORD dwTzID = (DWORD)VAL_ZERO;
|
|
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
pRecTz.CreateInstance(_uuidof(Recordset));
|
|
pRecTd.CreateInstance(_uuidof(Recordset));
|
|
pRecTdHead.CreateInstance(_uuidof(Recordset));
|
|
pRecPara.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = pExpConnection;
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select TDname,SCCN,PAID,DESN,TZID,TDtype,HFname,CFname,CFRamount,GRFname,GRFRamount from td where ID = %u"), dwTdID);
|
|
pRecTd->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecTd->GetRecordCount())
|
|
{
|
|
szTdName.Empty();
|
|
szTdName = (LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("TDname"));
|
|
|
|
|
|
dwPaID = pRecTd->GetCollect(_T("PAID")).ulVal;
|
|
|
|
szDeSn.Empty();
|
|
szDeSn = (LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("DESN"));
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select PRID,TZname from tz where ID = %u"), pRecTd->GetCollect(_T("TZID")).ulVal);
|
|
pRecTz->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecTz->GetRecordCount())
|
|
{
|
|
szTzName.Empty();
|
|
szTzName = (LPCTSTR)(_bstr_t)pRecTz->GetCollect(_T("TZname"));
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select CN from project where ID = %u"), pRecTz->GetCollect(_T("PRID")).ulVal);
|
|
pRecPro->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecTz->GetRecordCount())
|
|
{
|
|
szPrCn.Empty();
|
|
szPrCn = (LPCTSTR)(_bstr_t)pRecPro->GetCollect(_T("CN"));
|
|
}
|
|
|
|
pRecPro->Close();
|
|
}
|
|
pRecTz->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into td(TDname,DESN,PRCN,TZname,SCCN,TDtype,HFname,CFname,CFRamount,GRFname,GRFRamount) values('%s','%s','%s','%s','%s',%d,'%s','%s',%d,'%s',%d)"),
|
|
(LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("DESN")),
|
|
szPrCn,
|
|
szTzName,
|
|
(LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("SCCN")),
|
|
pRecTd->GetCollect(_T("TDtype")).iVal,
|
|
pRecTd->GetCollect(_T("HFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("HFname")),
|
|
pRecTd->GetCollect(_T("CFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("CFname")),
|
|
pRecTd->GetCollect(_T("CFRamount")).iVal,
|
|
pRecTd->GetCollect(_T("GRFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTd->GetCollect(_T("GRFname")),
|
|
pRecTd->GetCollect(_T("GRFRamount")).iVal);
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
|
|
pRecTd->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select Format(Cdate,'YYYY-MM-DD') as Cdate,Format(Ctime,'HH:MM:SS') as Ctime,rolling,RCamount,Rdirection,CRtime,CPE,CPN,weather,temperature,height,humidity,PM,OP,QA from tdhead where TDID = %u"),
|
|
dwTdID);
|
|
pRecTdHead->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecTdHead->GetRecordCount())
|
|
{
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into tdhead(TDname,DESN,Cdate,Ctime,rolling,RCamount,Rdirection,CRtime,CPE,CPN,weather,temperature,height,humidity,PM,OP,QA) "
|
|
"values('%s','%s',#%s#,#%s#,%s,%s,%s,%s,'%s','%s',%s,%s,%s,%s,'%s','%s','%s')"),
|
|
szTdName,
|
|
szDeSn,
|
|
(LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("Cdate")),
|
|
(LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("Ctime")),
|
|
pRecTdHead->GetCollect(_T("rolling")).vt == VT_NULL ? _T("0") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("rolling")),
|
|
pRecTdHead->GetCollect(_T("RCamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("RCamount")),
|
|
pRecTdHead->GetCollect(_T("Rdirection")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("Rdirection")),
|
|
pRecTdHead->GetCollect(_T("CRtime")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("CRtime")),
|
|
pRecTdHead->GetCollect(_T("CPE")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("CPE")),
|
|
pRecTdHead->GetCollect(_T("CPN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("CPN")),
|
|
pRecTdHead->GetCollect(_T("weather")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("weather")),
|
|
pRecTdHead->GetCollect(_T("temperature")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("temperature")),
|
|
pRecTdHead->GetCollect(_T("height")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("height")),
|
|
pRecTdHead->GetCollect(_T("humidity")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("humidity")),
|
|
pRecTdHead->GetCollect(_T("PM")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("PM")),
|
|
pRecTdHead->GetCollect(_T("OP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("OP")),
|
|
pRecTdHead->GetCollect(_T("QA")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecTdHead->GetCollect(_T("QA")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
pRecTdHead->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select LCHamount,RCHamount,LCamount,RCamount,LEamount,REamount,Felectrode,Espacing,Clayout,CLfun from parameter where ID = %u"),
|
|
dwPaID);
|
|
pRecPara->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecPara->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into parameter(TDname,DESN,LCHamount,RCHamount,LCamount,RCamount,LEamount,REamount,Felectrode,Espacing,Clayout,CLfun) "
|
|
"values('%s','%s',%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"),
|
|
szTdName,
|
|
szDeSn,
|
|
pRecPara->GetCollect(_T("LCHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("LCHamount")),
|
|
pRecPara->GetCollect(_T("RCHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("RCHamount")),
|
|
pRecPara->GetCollect(_T("LCamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("LCamount")),
|
|
pRecPara->GetCollect(_T("RCamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("RCamount")),
|
|
pRecPara->GetCollect(_T("LEamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("LEamount")),
|
|
pRecPara->GetCollect(_T("REamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("REamount")),
|
|
pRecPara->GetCollect(_T("Felectrode")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("Felectrode")),
|
|
pRecPara->GetCollect(_T("Espacing")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("Espacing")),
|
|
pRecPara->GetCollect(_T("Clayout")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("Clayout")),
|
|
pRecPara->GetCollect(_T("CLfun")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecPara->GetCollect(_T("CLfun")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
}
|
|
pRecPara->Close();
|
|
}
|
|
|
|
void CIOManager::ExportSptToAccdbFile(_ConnectionPtr pExpConnection, CListCtrl &sptList)
|
|
{
|
|
_RecordsetPtr pRecSCon = NULL;
|
|
_RecordsetPtr pRecCha = NULL;
|
|
_RecordsetPtr pRecSpt = NULL;
|
|
// _RecordsetPtr pRecMed = NULL;
|
|
|
|
_CommandPtr pCmdIns = NULL;
|
|
|
|
CString szSql = _T("");
|
|
CString szCN = _T("");
|
|
CString szMeName = _T("");
|
|
|
|
int iScIndex = (int)VAL_ZERO;
|
|
|
|
DWORD dwScHandle = (DWORD)VAL_ZERO;
|
|
DWORD dwScID = (DWORD)VAL_ZERO;
|
|
|
|
DWORD dwChID = (DWORD)VAL_ZERO;
|
|
int iChNumber = (int)VAL_ZERO;
|
|
|
|
pRecSCon.CreateInstance(_uuidof(Recordset));
|
|
pRecCha.CreateInstance(_uuidof(Recordset));
|
|
pRecSpt.CreateInstance(_uuidof(Recordset));
|
|
// pRecMed.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = pExpConnection;
|
|
|
|
for(iScIndex = (int)VAL_ZERO; iScIndex < sptList.GetItemCount(); iScIndex ++)
|
|
{
|
|
if( sptList.GetItemState(iScIndex, LVIS_SELECTED) == LVIS_SELECTED || sptList.GetCheck(iScIndex))
|
|
{
|
|
dwScHandle = sptList.GetItemData(iScIndex);
|
|
dwScID = m_handleProcessor.GetIDFromHandle(dwScHandle);
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select CN,Sname,Eamount,CHamount,TPamount,definer,Format(DEdate,'YYYY-MM-DD') as DEdate,SCdesc from scon where ID = %u"), dwScID);
|
|
pRecSCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecSCon->GetRecordCount())
|
|
{
|
|
szCN = (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("CN"));
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into scon(CN,Sname,Eamount,CHamount,TPamount,definer,DEdate,SCdesc) "
|
|
"values('%s','%s',%s,%s,%s,'%s',#%s#,'%s')"),
|
|
szCN,
|
|
pRecSCon->GetCollect(_T("Sname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("Sname")),
|
|
pRecSCon->GetCollect(_T("Eamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("Eamount")),
|
|
pRecSCon->GetCollect(_T("CHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("CHamount")),
|
|
pRecSCon->GetCollect(_T("TPamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("TPamount")),
|
|
pRecSCon->GetCollect(_T("definer")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("definer")),
|
|
pRecSCon->GetCollect(_T("DEdate")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("DEdate")),
|
|
pRecSCon->GetCollect(_T("SCdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("SCdesc")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
pRecSCon->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID,CHnumber,AR from channel where SCID = %u"), dwScID);
|
|
pRecCha->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
while ((short)VAL_ZERO == pRecCha->adoEOF)
|
|
{
|
|
dwChID = (DWORD)pRecCha->GetCollect(_T("ID")).ulVal;
|
|
iChNumber = (int)pRecCha->GetCollect(_T("CHnumber")).iVal;
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into channel(CN,CHnumber,AR) "
|
|
"values('%s',%d,%s)"),
|
|
szCN,
|
|
iChNumber,
|
|
pRecCha->GetCollect(_T("AR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecCha->GetCollect(_T("AR")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select TSN,C1,C2,P1,P2,K,N from script2d where CHID = %u order by TSN"), dwChID);
|
|
pRecSpt->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
while ((short)VAL_ZERO == pRecSpt->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into script2d(CN,CHnumber,TSN,C1,C2,P1,P2,K,N) "
|
|
"values('%s',%d,%s,%s,%s,%s,%s,%s,%s)"),
|
|
szCN,
|
|
iChNumber,
|
|
pRecSpt->GetCollect(_T("TSN")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSpt->GetCollect(_T("TSN")),
|
|
pRecSpt->GetCollect(_T("C1")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSpt->GetCollect(_T("C1")),
|
|
pRecSpt->GetCollect(_T("C2")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSpt->GetCollect(_T("C2")),
|
|
pRecSpt->GetCollect(_T("P1")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSpt->GetCollect(_T("P1")),
|
|
pRecSpt->GetCollect(_T("P2")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSpt->GetCollect(_T("P2")),
|
|
pRecSpt->GetCollect(_T("K")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSpt->GetCollect(_T("K")),
|
|
pRecSpt->GetCollect(_T("N")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecSpt->GetCollect(_T("N")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecSpt->MoveNext();
|
|
}
|
|
pRecSpt->Close();
|
|
|
|
pRecCha->MoveNext();
|
|
}
|
|
pRecCha->Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
void CIOManager::ImportSptToDB(_ConnectionPtr pImpConnection)
|
|
{
|
|
_RecordsetPtr pRecImpSCon = NULL;
|
|
_RecordsetPtr pRecImpCha = NULL;
|
|
_RecordsetPtr pRecImpSpt = NULL;
|
|
|
|
_RecordsetPtr pRecScID = NULL;
|
|
_RecordsetPtr pRecSCon = NULL;
|
|
_RecordsetPtr pRecChID = NULL;
|
|
|
|
// _RecordsetPtr pRecMed = NULL;
|
|
|
|
_CommandPtr pCmdIns = NULL;
|
|
_CommandPtr pCmdUpd = NULL;
|
|
|
|
CString szSql = _T("");
|
|
|
|
DWORD dwScID = (DWORD)VAL_ZERO;
|
|
DWORD dwChID = (DWORD)VAL_ZERO;
|
|
|
|
// DWORD dwMeID = (DWORD)VAL_ZERO;
|
|
|
|
int iChNumber = (int)VAL_ZERO;
|
|
|
|
pRecImpSCon.CreateInstance(_uuidof(Recordset));
|
|
pRecImpCha.CreateInstance(_uuidof(Recordset));
|
|
pRecImpSpt.CreateInstance(_uuidof(Recordset));
|
|
|
|
pRecScID.CreateInstance(_uuidof(Recordset));
|
|
pRecSCon.CreateInstance(_uuidof(Recordset));
|
|
pRecChID.CreateInstance(_uuidof(Recordset));
|
|
// pRecMed.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = m_pConnection;
|
|
|
|
pCmdUpd.CreateInstance(_uuidof(Command));
|
|
pCmdUpd->ActiveConnection = m_pConnection;
|
|
|
|
pRecImpSCon->Open(_T("select CN,Sname,Eamount,CHamount,TPamount,definer,DEdate,SCdesc from scon"),
|
|
_variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpSCon->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from scon where CN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("CN")));
|
|
pRecSCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO == pRecSCon->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into scon(CN,Sname,Eamount,CHamount,TPamount,definer,DEdate,SCdesc) "
|
|
"values('%s','%s',%s,%s,%s,'%s',#%s#,'%s')"),
|
|
pRecImpSCon->GetCollect(_T("CN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("CN")),
|
|
pRecImpSCon->GetCollect(_T("Sname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("Sname")),
|
|
|
|
pRecImpSCon->GetCollect(_T("Eamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("Eamount")),
|
|
pRecImpSCon->GetCollect(_T("CHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("CHamount")),
|
|
pRecImpSCon->GetCollect(_T("TPamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("TPamount")),
|
|
pRecImpSCon->GetCollect(_T("definer")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("definer")),
|
|
pRecImpSCon->GetCollect(_T("DEdate")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("DEdate")),
|
|
pRecImpSCon->GetCollect(_T("SCdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("SCdesc")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecScID->Open(_T("select max(ID) as ID from scon"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwScID = (DWORD)pRecScID->GetCollect(_T("ID")).ulVal;
|
|
pRecScID->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select CHnumber,AR from channel where CN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("CN")));
|
|
pRecImpCha->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpCha->adoEOF)
|
|
{
|
|
iChNumber = pRecImpCha->GetCollect(_T("CHnumber")).iVal;
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into channel(SCID,CHnumber,AR) values(%u,%d,%s)"),
|
|
dwScID,
|
|
iChNumber,
|
|
pRecImpCha->GetCollect(_T("AR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpCha->GetCollect(_T("AR")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecChID->Open(_T("select max(ID) as ID from channel"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwChID = (DWORD)pRecChID->GetCollect(_T("ID")).ulVal;
|
|
pRecChID->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select TSN,C1,C2,P1,P2,K,N from script2d where CN = '%s' and CHnumber = %d order by TSN"),
|
|
(LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("CN")),
|
|
iChNumber);
|
|
|
|
pRecImpSpt->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
while ((short)VAL_ZERO == pRecImpSpt->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into script2d(CHID,TSN,C1,C2,P1,P2,K,N) "
|
|
"values(%u,%s,%s,%s,%s,%s,%s,%s)"),
|
|
dwChID,
|
|
pRecImpSpt->GetCollect(_T("TSN")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSpt->GetCollect(_T("TSN")),
|
|
pRecImpSpt->GetCollect(_T("C1")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSpt->GetCollect(_T("C1")),
|
|
pRecImpSpt->GetCollect(_T("C2")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSpt->GetCollect(_T("C2")),
|
|
pRecImpSpt->GetCollect(_T("P1")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSpt->GetCollect(_T("P1")),
|
|
pRecImpSpt->GetCollect(_T("P2")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSpt->GetCollect(_T("P2")),
|
|
pRecImpSpt->GetCollect(_T("K")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSpt->GetCollect(_T("K")),
|
|
pRecImpSpt->GetCollect(_T("N")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpSpt->GetCollect(_T("N"))
|
|
);
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecImpSpt->MoveNext();
|
|
}
|
|
pRecImpSpt->Close();
|
|
|
|
pRecImpCha->MoveNext();
|
|
}
|
|
|
|
pRecImpCha->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("update td set SCID = %u where SCCN = '%s'"), dwScID, (LPCTSTR)(_bstr_t)pRecImpSCon->GetCollect(_T("CN")));
|
|
|
|
pCmdUpd->CommandText = szSql.AllocSysString();
|
|
pCmdUpd->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
|
|
pRecSCon->Close();
|
|
pRecImpSCon->MoveNext();
|
|
}
|
|
pRecImpSCon->Close();
|
|
}
|
|
|
|
void CIOManager::ImportIpspTdToDB(_ConnectionPtr pImpConnection)
|
|
{
|
|
_RecordsetPtr pRecImpTd = NULL;
|
|
_RecordsetPtr pRecImpTdHead = NULL;
|
|
_RecordsetPtr pRecImpPam = NULL;
|
|
_RecordsetPtr pRecImpIpspCon = NULL;
|
|
_RecordsetPtr pRecImpGr = NULL;
|
|
|
|
_RecordsetPtr pRecPro = NULL;
|
|
_RecordsetPtr pRecTz = NULL;
|
|
_RecordsetPtr pRecTd = NULL;
|
|
_RecordsetPtr pRecTdID = NULL;
|
|
_RecordsetPtr pRecDev = NULL;
|
|
_RecordsetPtr pRecSCon = NULL;
|
|
_RecordsetPtr pRecPam = NULL;
|
|
|
|
_CommandPtr pCmdIns = NULL;
|
|
|
|
DWORD dwPaID = (DWORD)VAL_ZERO;
|
|
DWORD dwDeID = (DWORD)VAL_ZERO;
|
|
DWORD dwScID = (DWORD)VAL_ZERO;
|
|
DWORD dwTzID = (DWORD)VAL_ZERO;
|
|
DWORD dwTdID = (DWORD)VAL_ZERO;
|
|
|
|
CString szSql = _T("");
|
|
pRecImpTd.CreateInstance(_uuidof(Recordset));
|
|
pRecImpTdHead.CreateInstance(_uuidof(Recordset));
|
|
pRecImpPam.CreateInstance(_uuidof(Recordset));
|
|
pRecImpIpspCon.CreateInstance(_uuidof(Recordset));
|
|
pRecImpGr.CreateInstance(_uuidof(Recordset));
|
|
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
pRecTz.CreateInstance(_uuidof(Recordset));
|
|
pRecTd.CreateInstance(_uuidof(Recordset));
|
|
pRecTdID.CreateInstance(_uuidof(Recordset));
|
|
pRecDev.CreateInstance(_uuidof(Recordset));
|
|
pRecSCon.CreateInstance(_uuidof(Recordset));
|
|
pRecPam.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = m_pConnection;
|
|
|
|
pRecImpTd->Open(_T("select TDname,DESN,PRCN,TZname,SCCN,TDtype,HFname,CFname,CFRamount,GRFname,GRFRamount from td"),
|
|
_variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpTd->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from td where TDname = '%s' and DESN = '%s'"),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecTd->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO == pRecTd->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from project where CN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("PRCN")));
|
|
pRecPro->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select ID from tz where PRID = %u and TZname = '%s'",
|
|
pRecPro->GetCollect(_T("ID")).ulVal,
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TZname")));
|
|
pRecTz->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwTzID = pRecTz->GetCollect(_T("ID")).ulVal;
|
|
pRecTz->Close();
|
|
pRecPro->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select LCHamount,RCHamount,LCamount,RCamount,LEamount,REamount,Felectrode,Espacing,Clayout,CLfun from parameter where TDname = '%s' and DESN = '%s'",
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecImpPam->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecImpPam->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into parameter(LCHamount,RCHamount,LCamount,RCamount,LEamount,REamount,Felectrode,Espacing,Clayout,CLfun) "
|
|
"values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"),
|
|
pRecImpPam->GetCollect(_T("LCHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("LCHamount")),
|
|
pRecImpPam->GetCollect(_T("RCHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("RCHamount")),
|
|
pRecImpPam->GetCollect(_T("LCamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("LCamount")),
|
|
pRecImpPam->GetCollect(_T("RCamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("RCamount")),
|
|
pRecImpPam->GetCollect(_T("LEamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("LEamount")),
|
|
pRecImpPam->GetCollect(_T("REamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("REamount")),
|
|
pRecImpPam->GetCollect(_T("Felectrode")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("Felectrode")),
|
|
pRecImpPam->GetCollect(_T("Espacing")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("Espacing")),
|
|
pRecImpPam->GetCollect(_T("Clayout")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("Clayout")),
|
|
pRecImpPam->GetCollect(_T("CLfun")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("CLfun")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecPam->Open(_T("select max(ID) as ID from parameter"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwPaID = pRecPam->GetCollect(_T("ID")).ulVal;
|
|
pRecPam->Close();
|
|
}
|
|
pRecImpPam->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from device where SN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecDev->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecDev->GetRecordCount())
|
|
{
|
|
dwDeID = pRecDev->GetCollect(_T("ID")).ulVal;
|
|
}
|
|
else
|
|
{
|
|
dwDeID = (DWORD)VAL_ZERO;
|
|
}
|
|
|
|
pRecDev->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from scon where CN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("SCCN")));
|
|
pRecSCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecSCon->GetRecordCount())
|
|
{
|
|
dwScID = pRecSCon->GetCollect(_T("ID")).ulVal;
|
|
}
|
|
else
|
|
{
|
|
dwScID = (DWORD)VAL_ZERO;
|
|
}
|
|
pRecSCon->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into td(PAID,SCID,DEID,TZID,TDname,DESN,SCCN,TDtype,HFname,CFname,CFRamount,GRFname,GRFRamount) values(%u,%u,%u,%u,'%s','%s','%s',%d,'%s','%s',%d,'%s',%d)"),
|
|
dwPaID,dwScID,dwDeID,dwTzID,
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("SCCN")),
|
|
pRecImpTd->GetCollect(_T("TDtype")).iVal,
|
|
pRecImpTd->GetCollect(_T("HFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("HFname")),
|
|
pRecImpTd->GetCollect(_T("CFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("CFname")),
|
|
pRecImpTd->GetCollect(_T("CFRamount")).iVal,
|
|
pRecImpTd->GetCollect(_T("GRFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("GRFname")),
|
|
pRecImpTd->GetCollect(_T("GRFRamount")).iVal);
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecTdID->Open(_T("select max(ID) as ID from td"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwTdID = pRecTdID->GetCollect(_T("ID")).ulVal;
|
|
pRecTdID->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select SP,Ro,VP,IP,M1,M2,M3,M4,M5,M6,M7,TH,D,Zp,FG,Am,Bm,Cm,Dm,r from ipspcon where TDname = '%s' and DESN = '%s'",
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
|
|
pRecImpIpspCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpIpspCon->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into rspcon(TDID,SP,Ro,VP,IP,M1,M2,M3,M4,M5,M6,M7,TH,D,Zp,FG,Am,Bm,Cm,Dm,r) values(%u,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"),
|
|
dwTdID,
|
|
pRecImpIpspCon->GetCollect(_T("SP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("SP")),
|
|
pRecImpIpspCon->GetCollect(_T("Ro")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("Ro")),
|
|
pRecImpIpspCon->GetCollect(_T("VP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("VP")),
|
|
pRecImpIpspCon->GetCollect(_T("IP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("IP")),
|
|
pRecImpIpspCon->GetCollect(_T("M1")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("M1")),
|
|
pRecImpIpspCon->GetCollect(_T("M2")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("M2")),
|
|
pRecImpIpspCon->GetCollect(_T("M3")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("M3")),
|
|
pRecImpIpspCon->GetCollect(_T("M4")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("M4")),
|
|
pRecImpIpspCon->GetCollect(_T("M5")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("M5")),
|
|
pRecImpIpspCon->GetCollect(_T("M6")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("M6")),
|
|
pRecImpIpspCon->GetCollect(_T("M7")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("M7")),
|
|
pRecImpIpspCon->GetCollect(_T("TH")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("TH")),
|
|
pRecImpIpspCon->GetCollect(_T("D")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("D")),
|
|
pRecImpIpspCon->GetCollect(_T("Zp")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("Zp")),
|
|
pRecImpIpspCon->GetCollect(_T("FG")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("FG")),
|
|
pRecImpIpspCon->GetCollect(_T("Am")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("Am")),
|
|
pRecImpIpspCon->GetCollect(_T("Bm")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("Bm")),
|
|
pRecImpIpspCon->GetCollect(_T("Cm")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("Cm")),
|
|
pRecImpIpspCon->GetCollect(_T("Dm")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("Dm")),
|
|
pRecImpIpspCon->GetCollect(_T("r")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpIpspCon->GetCollect(_T("r")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
pRecImpIpspCon->MoveNext();
|
|
}
|
|
|
|
pRecImpIpspCon->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select electrode,CableH,CableT,P1GR,P2GR from gr where TDname = '%s' and DESN = '%s'"),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecImpGr->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpGr->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into gr(TDID,electrode,CableH,CableT,P1GR,P2GR) values(%u,'%s','%s','%s',%s,%s)"),
|
|
dwTdID,
|
|
pRecImpGr->GetCollect(_T("electrode")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("electrode")),
|
|
pRecImpGr->GetCollect(_T("CableH")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("CableH")),
|
|
pRecImpGr->GetCollect(_T("CableT")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("CableT")),
|
|
pRecImpGr->GetCollect(_T("P1GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("P1GR")),
|
|
pRecImpGr->GetCollect(_T("P2GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("P2GR")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecImpGr->MoveNext();
|
|
}
|
|
|
|
pRecImpGr->Close();
|
|
|
|
}
|
|
pRecTd->Close();
|
|
|
|
|
|
pRecImpTd->MoveNext();
|
|
}
|
|
|
|
pRecImpTd->Close();
|
|
}
|
|
|
|
void CIOManager::ImportRspTdToDB(_ConnectionPtr pImpConnection)
|
|
{
|
|
_RecordsetPtr pRecImpTd = NULL;
|
|
_RecordsetPtr pRecImpTdHead = NULL;
|
|
_RecordsetPtr pRecImpPam = NULL;
|
|
_RecordsetPtr pRecImpRspCon = NULL;
|
|
_RecordsetPtr pRecImpGr = NULL;
|
|
|
|
_RecordsetPtr pRecPro = NULL;
|
|
_RecordsetPtr pRecTz = NULL;
|
|
_RecordsetPtr pRecTd = NULL;
|
|
_RecordsetPtr pRecTdID = NULL;
|
|
_RecordsetPtr pRecDev = NULL;
|
|
_RecordsetPtr pRecSCon = NULL;
|
|
_RecordsetPtr pRecPam = NULL;
|
|
|
|
_CommandPtr pCmdIns = NULL;
|
|
|
|
DWORD dwPaID = (DWORD)VAL_ZERO;
|
|
DWORD dwDeID = (DWORD)VAL_ZERO;
|
|
DWORD dwScID = (DWORD)VAL_ZERO;
|
|
DWORD dwTzID = (DWORD)VAL_ZERO;
|
|
DWORD dwTdID = (DWORD)VAL_ZERO;
|
|
|
|
CString szSql = _T("");
|
|
pRecImpTd.CreateInstance(_uuidof(Recordset));
|
|
pRecImpTdHead.CreateInstance(_uuidof(Recordset));
|
|
pRecImpPam.CreateInstance(_uuidof(Recordset));
|
|
pRecImpRspCon.CreateInstance(_uuidof(Recordset));
|
|
pRecImpGr.CreateInstance(_uuidof(Recordset));
|
|
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
pRecTz.CreateInstance(_uuidof(Recordset));
|
|
pRecTd.CreateInstance(_uuidof(Recordset));
|
|
pRecTdID.CreateInstance(_uuidof(Recordset));
|
|
pRecDev.CreateInstance(_uuidof(Recordset));
|
|
pRecSCon.CreateInstance(_uuidof(Recordset));
|
|
pRecPam.CreateInstance(_uuidof(Recordset));
|
|
|
|
pCmdIns.CreateInstance(_uuidof(Command));
|
|
pCmdIns->ActiveConnection = m_pConnection;
|
|
|
|
pRecImpTd->Open(_T("select TDname,DESN,PRCN,TZname,SCCN,TDtype,HFname,CFname,CFRamount,GRFname,GRFRamount from td"),
|
|
_variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpTd->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from td where TDname = '%s' and DESN = '%s'"),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecTd->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO == pRecTd->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from project where CN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("PRCN")));
|
|
pRecPro->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select ID from tz where PRID = %u and TZname = '%s'",
|
|
pRecPro->GetCollect(_T("ID")).ulVal,
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TZname")));
|
|
pRecTz->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwTzID = pRecTz->GetCollect(_T("ID")).ulVal;
|
|
pRecTz->Close();
|
|
pRecPro->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select LCHamount,RCHamount,LCamount,RCamount,LEamount,REamount,Felectrode,Espacing,Clayout,CLfun from parameter where TDname = '%s' and DESN = '%s'",
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecImpPam->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecImpPam->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into parameter(LCHamount,RCHamount,LCamount,RCamount,LEamount,REamount,Felectrode,Espacing,Clayout,CLfun) "
|
|
"values(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"),
|
|
pRecImpPam->GetCollect(_T("LCHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("LCHamount")),
|
|
pRecImpPam->GetCollect(_T("RCHamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("RCHamount")),
|
|
pRecImpPam->GetCollect(_T("LCamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("LCamount")),
|
|
pRecImpPam->GetCollect(_T("RCamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("RCamount")),
|
|
pRecImpPam->GetCollect(_T("LEamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("LEamount")),
|
|
pRecImpPam->GetCollect(_T("REamount")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("REamount")),
|
|
pRecImpPam->GetCollect(_T("Felectrode")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("Felectrode")),
|
|
pRecImpPam->GetCollect(_T("Espacing")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("Espacing")),
|
|
pRecImpPam->GetCollect(_T("Clayout")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("Clayout")),
|
|
pRecImpPam->GetCollect(_T("CLfun")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpPam->GetCollect(_T("CLfun")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecPam->Open(_T("select max(ID) as ID from parameter"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwPaID = pRecPam->GetCollect(_T("ID")).ulVal;
|
|
pRecPam->Close();
|
|
}
|
|
pRecImpPam->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from device where SN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecDev->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecDev->GetRecordCount())
|
|
{
|
|
dwDeID = pRecDev->GetCollect(_T("ID")).ulVal;
|
|
}
|
|
else
|
|
{
|
|
dwDeID = (DWORD)VAL_ZERO;
|
|
}
|
|
|
|
pRecDev->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from scon where CN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("SCCN")));
|
|
pRecSCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecSCon->GetRecordCount())
|
|
{
|
|
dwScID = pRecSCon->GetCollect(_T("ID")).ulVal;
|
|
}
|
|
else
|
|
{
|
|
dwScID = (DWORD)VAL_ZERO;
|
|
}
|
|
pRecSCon->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into td(PAID,SCID,DEID,TZID,TDname,DESN,SCCN,TDtype,HFname,CFname,CFRamount,GRFname,GRFRamount) values(%u,%u,%u,%u,'%s','%s','%s',%d,'%s','%s',%d,'%s',%d)"),
|
|
dwPaID,dwScID,dwDeID,dwTzID,
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("SCCN")),
|
|
pRecImpTd->GetCollect(_T("TDtype")).iVal,
|
|
pRecImpTd->GetCollect(_T("HFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("HFname")),
|
|
pRecImpTd->GetCollect(_T("CFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("CFname")),
|
|
pRecImpTd->GetCollect(_T("CFRamount")).iVal,
|
|
pRecImpTd->GetCollect(_T("GRFname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("GRFname")),
|
|
pRecImpTd->GetCollect(_T("GRFRamount")).iVal);
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
|
|
pRecTdID->Open(_T("select max(ID) as ID from td"), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
dwTdID = pRecTdID->GetCollect(_T("ID")).ulVal;
|
|
pRecTdID->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format("select A,B,M,N,K,SP,Ro,Vp,Ip,SD,RgA,RgB,RgM,RgN,Ttime from rspcon where TDname = '%s' and DESN = '%s' order by Ttime",
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecImpRspCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpRspCon->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into rspcon(TDID,A,B,M,N,K,SP,Ro,Vp,Ip,SD,RgA,RgB,RgM,RgN,Ttime) values(%u,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)"),
|
|
dwTdID,
|
|
pRecImpRspCon->GetCollect(_T("A")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("A")),
|
|
pRecImpRspCon->GetCollect(_T("B")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("B")),
|
|
pRecImpRspCon->GetCollect(_T("M")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("M")),
|
|
pRecImpRspCon->GetCollect(_T("N")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("N")),
|
|
pRecImpRspCon->GetCollect(_T("K")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("K")),
|
|
pRecImpRspCon->GetCollect(_T("SP")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("SP")),
|
|
pRecImpRspCon->GetCollect(_T("Ro")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("Ro")),
|
|
pRecImpRspCon->GetCollect(_T("Vp")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("Vp")),
|
|
pRecImpRspCon->GetCollect(_T("Ip")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("Ip")),
|
|
pRecImpRspCon->GetCollect(_T("SD")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("SD")),
|
|
pRecImpRspCon->GetCollect(_T("Rg-A")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("RgA")),
|
|
pRecImpRspCon->GetCollect(_T("Rg-B")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("RgB")),
|
|
pRecImpRspCon->GetCollect(_T("Rg-M")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("RgM")),
|
|
pRecImpRspCon->GetCollect(_T("Rg-N")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("RgN")),
|
|
pRecImpRspCon->GetCollect(_T("Ttime")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpRspCon->GetCollect(_T("Ttime")));
|
|
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
pRecImpRspCon->MoveNext();
|
|
}
|
|
|
|
pRecImpRspCon->Close();
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("select electrode,CableH,CableT,P1GR,P2GR from gr where TDname = '%s' and DESN = '%s'"),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("TDname")),
|
|
(LPCTSTR)(_bstr_t)pRecImpTd->GetCollect(_T("DESN")));
|
|
pRecImpGr->Open(szSql.AllocSysString(), _variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpGr->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into gr(TDID,electrode,CableH,CableT,P1GR,P2GR) values(%u,'%s','%s','%s',%s,%s)"),
|
|
dwTdID,
|
|
pRecImpGr->GetCollect(_T("electrode")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("electrode")),
|
|
pRecImpGr->GetCollect(_T("CableH")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("CableH")),
|
|
pRecImpGr->GetCollect(_T("CableT")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("CableT")),
|
|
pRecImpGr->GetCollect(_T("P1GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("P1GR")),
|
|
pRecImpGr->GetCollect(_T("P2GR")).vt == VT_NULL ? _T("null") : (LPCTSTR)(_bstr_t)pRecImpGr->GetCollect(_T("P2GR")));
|
|
pCmdIns->CommandText = szSql.AllocSysString();
|
|
pCmdIns->Execute(NULL, NULL, adCmdText);
|
|
|
|
pRecImpGr->MoveNext();
|
|
}
|
|
|
|
pRecImpGr->Close();
|
|
|
|
}
|
|
pRecTd->Close();
|
|
|
|
pRecImpTd->MoveNext();
|
|
}
|
|
|
|
pRecImpTd->Close();
|
|
}
|
|
|
|
|
|
void CIOManager::ImportTzToDB(_ConnectionPtr pImpConnection)
|
|
{
|
|
CString szSql = _T("");
|
|
|
|
_CommandPtr pCmdInsTz = NULL;
|
|
_RecordsetPtr pRecPro = NULL;
|
|
_RecordsetPtr pRecTz = NULL;
|
|
|
|
_RecordsetPtr pRecImpTz = NULL;
|
|
|
|
pCmdInsTz.CreateInstance(_uuidof(Command));
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
pRecTz.CreateInstance(_uuidof(Recordset));
|
|
pRecImpTz.CreateInstance(_uuidof(Recordset));
|
|
|
|
pRecImpTz->Open(_T("select TZname,PRCN,TZdesc,location from tz"),
|
|
_variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpTz->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format("select ID from project where CN = '%s'", (LPCTSTR)(_bstr_t)pRecImpTz->GetCollect(_T("PRCN")));
|
|
pRecPro->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO != pRecPro->GetRecordCount())
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from tz where PRID = %u and TZname = '%s'"),
|
|
pRecPro->GetCollect(_T("ID")).ulVal, (LPCTSTR)(_bstr_t)pRecImpTz->GetCollect(_T("TZname")));
|
|
pRecTz->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO == pRecTz->GetRecordCount())
|
|
{
|
|
pCmdInsTz->ActiveConnection = m_pConnection;
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into tz(PRID,TZname,location,TZdesc) values(%u,'%s','%s','%s')"),
|
|
pRecPro->GetCollect(_T("ID")).ulVal,
|
|
pRecImpTz->GetCollect(_T("TZname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTz->GetCollect(_T("TZname")),
|
|
pRecImpTz->GetCollect(_T("location")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTz->GetCollect(_T("location")),
|
|
pRecImpTz->GetCollect(_T("TZdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpTz->GetCollect(_T("TZdesc")));
|
|
pCmdInsTz->CommandText = szSql.AllocSysString();
|
|
pCmdInsTz->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
pRecTz->Close();
|
|
}
|
|
|
|
pRecPro->Close();
|
|
pRecImpTz->MoveNext();
|
|
}
|
|
pRecImpTz->Close();
|
|
}
|
|
|
|
void CIOManager::ImportProjectToDB(_ConnectionPtr pImpConnection)
|
|
{
|
|
_RecordsetPtr pRecImpPro = NULL;
|
|
_RecordsetPtr pRecPro = NULL;
|
|
|
|
_CommandPtr pCmdInsPro = NULL;
|
|
|
|
CString szSql = _T("");
|
|
|
|
pRecImpPro.CreateInstance(_uuidof(Recordset));
|
|
pRecPro.CreateInstance(_uuidof(Recordset));
|
|
pCmdInsPro.CreateInstance(_uuidof(Command));
|
|
|
|
pRecImpPro->Open(_T("select CN,PRname,PRdesc,location,PRdate,duration,PS,CS,PM,QAS,standard from project"),
|
|
_variant_t((IDispatch*)pImpConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
while ((short)VAL_ZERO == pRecImpPro->adoEOF)
|
|
{
|
|
szSql.Empty();
|
|
szSql.Format(_T("select ID from project where CN = '%s'"), (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("CN")));
|
|
pRecPro->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
|
|
|
|
if ((long)VAL_ZERO == pRecPro->GetRecordCount())
|
|
{
|
|
pCmdInsPro->ActiveConnection = m_pConnection;
|
|
|
|
szSql.Empty();
|
|
szSql.Format(_T("insert into project(CN,PRname,PRdesc,location,PRdate,duration,PS,CS,PM,QAS,standard) values('%s','%s','%s','%s',#%s#,%d,'%s','%s','%s','%s','%s')"),
|
|
pRecImpPro->GetCollect(_T("CN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("CN")),
|
|
pRecImpPro->GetCollect(_T("PRname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("PRname")),
|
|
pRecImpPro->GetCollect(_T("PRdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("PRdesc")),
|
|
pRecImpPro->GetCollect(_T("location")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("location")),
|
|
pRecImpPro->GetCollect(_T("PRdate")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("PRdate")),
|
|
pRecImpPro->GetCollect(_T("duration")).vt == VT_NULL ? (int)VAL_ZERO : pRecImpPro->GetCollect(_T("duration")).ulVal,
|
|
pRecImpPro->GetCollect(_T("PS")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("PS")),
|
|
pRecImpPro->GetCollect(_T("CS")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("CS")),
|
|
pRecImpPro->GetCollect(_T("PM")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("PM")),
|
|
pRecImpPro->GetCollect(_T("QAS")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("QAS")),
|
|
pRecImpPro->GetCollect(_T("standard")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecImpPro->GetCollect(_T("standard")));
|
|
|
|
pCmdInsPro->CommandText = szSql.AllocSysString();
|
|
pCmdInsPro->Execute(NULL, NULL, adCmdText);
|
|
}
|
|
|
|
pRecPro->Close();
|
|
|
|
pRecImpPro->MoveNext();
|
|
}
|
|
pRecImpPro->Close();
|
|
}
|
|
|