home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 32 / IOPROG_32.ISO / SOFT / SqlEval7 / devtools / samples / ODBC / mfcperf / logindlg.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1997-05-20  |  3.8 KB  |  128 lines

  1. // LoginDlg.cpp : implementation file
  2. //
  3. // This file is part of Microsoft SQL Server online documentation.
  4. // Copyright (C) 1992-1997 Microsoft Corporation. All rights reserved.
  5. //
  6. // This source code is an intended supplement to the Microsoft SQL
  7. // Server online references and related electronic documentation.
  8. #include "stdafx.h"
  9. #include "resource.h"
  10. #include "LoginDlg.h"
  11.  
  12. #include "SQL.h"
  13. #include "SQLExt.h"
  14.  
  15. #ifdef _DEBUG
  16. #define new DEBUG_NEW
  17. #undef THIS_FILE
  18. static char THIS_FILE[] = __FILE__;
  19. #endif
  20.  
  21. /////////////////////////////////////////////////////////////////////////////
  22. // CLoginDlg dialog
  23. CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)
  24.     : CDialog(CLoginDlg::IDD, pParent)
  25.     {
  26.     //{{AFX_DATA_INIT(CLoginDlg)
  27.     m_bIntegrated = FALSE;
  28.     m_strPWD = _T("");
  29.     m_strUID = _T("");
  30.     //}}AFX_DATA_INIT
  31.     }
  32.  
  33. void CLoginDlg::DoDataExchange(CDataExchange* pDX)
  34.     {
  35.     CDialog::DoDataExchange(pDX);
  36.     //{{AFX_DATA_MAP(CLoginDlg)
  37.     DDX_Control(pDX, IDC_CHECK_INTEGRATED, m_chkIntegrated);
  38.     DDX_Control(pDX, IDC_STATIC_UID, m_staticUID);
  39.     DDX_Control(pDX, IDC_STATIC_UDATA, m_grpUData);
  40.     DDX_Control(pDX, IDC_STATIC_PWD, m_staticPWD);
  41.     DDX_Control(pDX, IDC_EDIT_UID, m_editUID);
  42.     DDX_Control(pDX, IDC_EDIT_PWD, m_editPWD);
  43.     DDX_Control(pDX, IDC_COMBO_DSN, m_comboDSN);
  44.     DDX_Check(pDX, IDC_CHECK_INTEGRATED, m_bIntegrated);
  45.     DDX_Text(pDX, IDC_EDIT_PWD, m_strPWD);
  46.     DDV_MaxChars(pDX, m_strPWD, 32);
  47.     DDX_Text(pDX, IDC_EDIT_UID, m_strUID);
  48.     DDV_MaxChars(pDX, m_strUID, 32);
  49.     //}}AFX_DATA_MAP
  50.     }
  51.  
  52. BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)
  53.     //{{AFX_MSG_MAP(CLoginDlg)
  54.     ON_CBN_SELCHANGE(IDC_COMBO_DSN, OnSelchangeComboDsn)
  55.     ON_BN_CLICKED(IDC_CHECK_INTEGRATED, OnCheckIntegrated)
  56.     //}}AFX_MSG_MAP
  57. END_MESSAGE_MAP()
  58.  
  59. /////////////////////////////////////////////////////////////////////////////
  60. // CLoginDlg message handlers
  61. BOOL CLoginDlg::OnInitDialog() 
  62.     {
  63.     CDialog::OnInitDialog();
  64.     
  65.     // Load the data source combo with available SQL Server datasources
  66.     TCHAR       acDSN[SQL_MAX_DSN_LENGTH + 1];
  67.     SQLSMALLINT cbDSN;
  68.     TCHAR       acDesc[SQL_MAX_OPTION_STRING_LENGTH + 1];
  69.     SQLSMALLINT cbDesc;
  70.     SQLRETURN   sRet;
  71.     SQLHENV     hEnv;
  72.  
  73.     if (SQLAllocEnv(&hEnv) == SQL_ERROR)
  74.         {
  75.         return (TRUE);
  76.         }
  77.  
  78.     sRet = SQLDataSources(hEnv, SQL_FETCH_FIRST_USER, 
  79.         (SQLTCHAR*) acDSN, SQL_MAX_DSN_LENGTH + 1, &cbDSN,
  80.         (SQLTCHAR*) acDesc, SQL_MAX_OPTION_STRING_LENGTH + 1, &cbDesc);
  81.     while (SQL_SUCCEEDED(sRet))
  82.         {
  83.         if (_tcsstr(acDesc, _T("SQL Server")) != NULL)
  84.             {
  85.             m_comboDSN.AddString(acDSN);
  86.             }
  87.         sRet = SQLDataSources(hEnv, SQL_FETCH_NEXT,
  88.             (SQLTCHAR*) acDSN, SQL_MAX_DSN_LENGTH + 1, &cbDSN,
  89.             (SQLTCHAR*) acDesc, SQL_MAX_OPTION_STRING_LENGTH + 1, &cbDesc);
  90.         }
  91.  
  92.     // Set the selection for the data source combobox.
  93.     m_comboDSN.SetCurSel(0);
  94.     OnSelchangeComboDsn();
  95.  
  96.     return TRUE;  // return TRUE unless you set the focus to a control
  97.                   // EXCEPTION: OCX Property Pages should return FALSE
  98.     }
  99.  
  100. void CLoginDlg::OnSelchangeComboDsn() 
  101.     {
  102.     // Update our DSN name for the user.
  103.     m_comboDSN.GetLBText(m_comboDSN.GetCurSel(), m_strDSN);
  104.     }
  105.  
  106. void CLoginDlg::OnCheckIntegrated() 
  107.     {
  108.     if (m_chkIntegrated.GetCheck())
  109.         {
  110.         m_grpUData.EnableWindow(FALSE);
  111.         m_staticUID.EnableWindow(FALSE);
  112.         m_editUID.EnableWindow(FALSE);
  113.         m_staticPWD.EnableWindow(FALSE);
  114.         m_editPWD.EnableWindow(FALSE);
  115.  
  116.         m_editUID.SetWindowText(_T(""));
  117.         m_editPWD.SetWindowText(_T(""));
  118.         }
  119.     else
  120.         {
  121.         m_grpUData.EnableWindow(TRUE);
  122.         m_staticUID.EnableWindow(TRUE);
  123.         m_editUID.EnableWindow(TRUE);
  124.         m_staticPWD.EnableWindow(TRUE);
  125.         m_editPWD.EnableWindow(TRUE);
  126.         }
  127.     }
  128.