// ScriptCE.cpp: implementation of the CScriptCE class. // ////////////////////////////////////////////////////////////////////// #include "geomative.h" #include "ScriptCE.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif ////////////////////////////////////////////////////////////////////// // Construction/Destruction ////////////////////////////////////////////////////////////////////// CScriptCE::CScriptCE(DWORD dwID, _ConnectionPtr& pConnection): CScript(dwID, pConnection) { } CScriptCE::~CScriptCE() { } bool CScriptCE::ShowSptConInfo(CListCtrl& sptConList) { _RecordsetPtr pRecSptList = NULL; CString szSql; int iIndex = (int)VAL_ZERO; pRecSptList.CreateInstance(_uuidof(Recordset)); if ((int)VAL_ZERO != sptConList.GetItemCount()) { sptConList.DeleteAllItems(); } szSql.Empty(); szSql.Format(_T("select b.CHnumber as CHnumber,a.TSN as TSN,a.a as a,a.b as b,a.x as x,a.y as y,a.K as K,a.N as N from script1d a,channel b " "where b.SCID = %d and a.CHID = b.ID order by a.TSN,a.CHID"), m_dwID); pRecSptList->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText); while ((short)VAL_ZERO == pRecSptList->adoEOF) { sptConList.InsertItem(iIndex, pRecSptList->GetCollect(_T("CHnumber")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("CHnumber"))); sptConList.SetItemText(iIndex, 1, pRecSptList->GetCollect(_T("TSN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("TSN"))); sptConList.SetItemText(iIndex, 2, pRecSptList->GetCollect(_T("a")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("a"))); sptConList.SetItemText(iIndex, 3, pRecSptList->GetCollect(_T("b")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("b"))); sptConList.SetItemText(iIndex, 4, pRecSptList->GetCollect(_T("x")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("x"))); sptConList.SetItemText(iIndex, 5, pRecSptList->GetCollect(_T("y")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("y"))); sptConList.SetItemText(iIndex, 6, pRecSptList->GetCollect(_T("K")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("K"))); sptConList.SetItemText(iIndex, 7, pRecSptList->GetCollect(_T("N")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSptList->GetCollect(_T("N"))); iIndex++; pRecSptList->MoveNext(); } pRecSptList->Close(); return true; } bool CScriptCE::ShowSptDetailInfo(CListCtrl& sptDetailList) { _RecordsetPtr pRecSCon = NULL; _RecordsetPtr pRecSHead = NULL; _RecordsetPtr pRecMed = NULL; _RecordsetPtr pRecCm = NULL; CString szSql = _T(""); CString szLabel = _T(""); int iRowIndex = (int)VAL_ZERO; pRecSCon.CreateInstance(_uuidof(Recordset)); pRecSHead.CreateInstance(_uuidof(Recordset)); pRecMed.CreateInstance(_uuidof(Recordset)); pRecCm.CreateInstance(_uuidof(Recordset)); while (sptDetailList.GetItemCount() != iRowIndex) { sptDetailList.SetItemText(iRowIndex, 1, _T("")); iRowIndex++; } 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"), m_dwID); pRecSCon->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText); if ((long)VAL_ZERO != pRecSCon->GetRecordCount()) { sptDetailList.SetItemText(0, 1, pRecSCon->GetCollect(_T("CN")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("CN"))); sptDetailList.SetItemText(1, 1, pRecSCon->GetCollect(_T("Sname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("Sname"))); sptDetailList.SetItemText(2, 1, pRecSCon->GetCollect(_T("Eamount")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("Eamount"))); sptDetailList.SetItemText(3, 1, pRecSCon->GetCollect(_T("CHamount")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("CHamount"))); sptDetailList.SetItemText(4, 1, pRecSCon->GetCollect(_T("TPamount")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("TPamount"))); sptDetailList.SetItemText(5, 1, pRecSCon->GetCollect(_T("definer")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("definer"))); sptDetailList.SetItemText(6, 1, pRecSCon->GetCollect(_T("DEdate")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("DEdate"))); sptDetailList.SetItemText(7, 1, pRecSCon->GetCollect(_T("SCdesc")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecSCon->GetCollect(_T("SCdesc"))); } pRecSCon->Close(); return true; } bool CScriptCE::ShowChannelList(CListCtrl& sptChannelList) { _RecordsetPtr pRecCh = NULL; _RecordsetPtr pRecMed = NULL; CString szSql = _T(""); int iIndex = (int)VAL_ZERO; DWORD dwHandle = (DWORD)VAL_ZERO; pRecCh.CreateInstance(_uuidof(Recordset)); pRecMed.CreateInstance(_uuidof(Recordset)); if ((int)VAL_ZERO != sptChannelList.GetItemCount()) { sptChannelList.DeleteAllItems(); } szSql.Empty(); szSql.Format(_T("select a.ID as ID,a.CHnumber as CHnumber,b.MEname as MEname from channel a,medium b where a.SCID = %d and a.AR = b.AR and b.LANG = %d order by a.CHnumber"), m_dwID, LANG_ENUS); pRecCh->Open(szSql.AllocSysString(), _variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText); while ((short)VAL_ZERO == pRecCh->adoEOF) { sptChannelList.InsertItem(iIndex, pRecCh->GetCollect(_T("CHnumber")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecCh->GetCollect(_T("CHnumber"))); sptChannelList.SetItemText(iIndex, 1, pRecCh->GetCollect(_T("MEname")).vt == VT_NULL ? _T("") : (LPCTSTR)(_bstr_t)pRecCh->GetCollect(_T("MEname"))); dwHandle = m_handleProcessor.GenerateHandle((DWORD)pRecCh->GetCollect(_T("ID")).ulVal, PZ_STYLE_SPT_CH); sptChannelList.SetItemData(iIndex, dwHandle); iIndex++; pRecCh->MoveNext(); } pRecCh->Close(); return true; }