MultiDBInterface.cpp 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #include "StdAfx.h"
  2. #include "MultiDBInterface.h"
  3. CMultiDBInterface::CMultiDBInterface(void)
  4. {
  5. }
  6. CMultiDBInterface::~CMultiDBInterface(void)
  7. {
  8. RemoveAllCatalog();
  9. }
  10. void CMultiDBInterface::RemoveAllCatalog()
  11. {
  12. CCatalogObj *pCatalog = NULL;
  13. for ( MULTCATALOG::iterator it = m_vtMulitCatalog.begin(); it != m_vtMulitCatalog.end();)
  14. {
  15. pCatalog = *it;
  16. it = m_vtMulitCatalog.erase(it);
  17. delete pCatalog;
  18. pCatalog = NULL;
  19. }
  20. }
  21. BOOL CMultiDBInterface::IsCatalogExists(IN LPCTSTR lpConnectString)
  22. {
  23. CCatalogObj *pCatalog = NULL;
  24. for ( MULTCATALOG::iterator it = m_vtMulitCatalog.begin(); it != m_vtMulitCatalog.end();it++)
  25. {
  26. pCatalog = *it;
  27. if ( _tcscmp(pCatalog->GetConnectString(),lpConnectString) == 0 )
  28. {
  29. return TRUE;
  30. //break;
  31. }
  32. }
  33. return FALSE;
  34. }
  35. BOOL CMultiDBInterface::AddCatalog(IN CONST DWORD &dwCatalogPort, IN LPCTSTR lpCatalogSource, IN LPCTSTR lpCatalogAccount, IN LPCTSTR lpCatalogPsw, IN LPCTSTR lpCatalogName)
  36. {
  37. TCHAR szConnectString[MAX_PATH] = _T("");
  38. if (dwCatalogPort)
  39. {
  40. _stprintf_s(szConnectString, _T("driver={SQL Server};Server=%s,%d;database=%s;uid=%s;pwd=%s"),
  41. lpCatalogSource, dwCatalogPort, lpCatalogName, lpCatalogAccount, lpCatalogPsw);
  42. }
  43. else
  44. {
  45. _stprintf_s(szConnectString, _T("driver={SQL Server};Server=%s;database=%s;uid=%s;pwd=%s"),
  46. lpCatalogSource, lpCatalogName, lpCatalogAccount, lpCatalogPsw);
  47. }
  48. if ( IsCatalogExists(szConnectString) )
  49. {
  50. return FALSE;
  51. }
  52. CCatalogObj *pCatalog = new CCatalogObj;
  53. if ( pCatalog == NULL )
  54. {
  55. return FALSE;
  56. }
  57. pCatalog->SetConn(szConnectString);
  58. if( !pCatalog->OpenCatalog() )
  59. {
  60. delete pCatalog;
  61. pCatalog = NULL;
  62. return FALSE;
  63. }
  64. return TRUE;
  65. }