예제 #1
0
CdSqlQuery::~CdSqlQuery()
{
	if (m_nNodeHandle != -1)
	{
		CString strItem;
		CString strConnection = m_strNode;
		if (!m_strServer.IsEmpty())
		{
			strItem.Format (_T(" (/%s)"), (LPCTSTR)m_strServer);
			strConnection += strItem;
		}
		if (!m_strUser.IsEmpty())
		{
			strItem.Format (_T(" (user:%s)"), (LPCTSTR)m_strUser);
			strConnection += strItem;
		}

		LPTSTR lpszNode = (LPTSTR)(LPCTSTR)strConnection;
		CloseNodeStruct (m_nNodeHandle , TRUE);
		//
		// Request for refresh list of opened windows
		if (DelayedUpdatesAccepted())
			DelayUpdateOnNode(lpszNode);
	}
}
예제 #2
0
void CxDlgUserMod::ExecuteRemoteCommand(LPCTSTR csCommandLine)
{
	int hnode;
	CString csTempo,csNodeName,csTitle;

	LPUCHAR vnodeName = (LPUCHAR)GetVirtNodeName ( m_nNodeHandle);
	csNodeName = vnodeName;
	hnode = OpenNodeStruct  ((LPUCHAR)(LPCTSTR)csNodeName);
	if (hnode<0)
	{
		CString strMsg = VDBA_MfcResourceString (IDS_MAX_NB_CONNECT);//_T("Maximum number of connections has been reached"
		strMsg += CString(VDBA_MfcResourceString (IDS_E_USERMOD));            // " - Cannot launch 'usermod' command.");
		AfxMessageBox (strMsg);
		return;
	}
	// Temporary for activate a session
	UCHAR buf[MAXOBJECTNAME];
	DOMGetFirstObject (hnode, OT_DATABASE, 0, NULL, FALSE, NULL, buf, NULL, NULL);
	csTitle.Format(IDS_T_USERMOD, (LPCTSTR)csNodeName, (LPCTSTR)m_csDBName);
	execrmcmd1( (char *)(LPCTSTR)csNodeName,
	            (char *)(LPCTSTR)csCommandLine,
	            (char *)(LPCTSTR)csTitle,
	            TRUE);

	CloseNodeStruct(hnode,FALSE);
}