LoginDialog.cpp
上传用户:lvjun8202
上传日期:2013-04-30
资源大小:797k
文件大小:3k
- // LoginDialog.cpp : implementation file
- //
- #include "stdafx.h"
- #include "oam.h"
- #include "LoginDialog.h"
- #ifdef _DEBUG
- #define new DEBUG_NEW
- #undef THIS_FILE
- static char THIS_FILE[] = __FILE__;
- #endif
- extern COAMApp theApp;
- /////////////////////////////////////////////////////////////////////////////
- // CLoginDialog dialog
- CLoginDialog::CLoginDialog(CWnd* pParent /*=NULL*/)
- : CDialog(CLoginDialog::IDD, pParent)
- {
- //{{AFX_DATA_INIT(CLoginDialog)
- m_password = _T("");
- m_user = _T("");
- //}}AFX_DATA_INIT
- }
- void CLoginDialog::DoDataExchange(CDataExchange* pDX)
- {
- CDialog::DoDataExchange(pDX);
- //{{AFX_DATA_MAP(CLoginDialog)
- DDX_Control(pDX, IDC_LOCK, m_Lock);
- DDX_Text(pDX, IDC_PASSWORD, m_password);
- DDX_Text(pDX, IDC_USER, m_user);
- DDX_Control(pDX, IDOK, m_btOk);
- DDX_Control(pDX, IDCANCEL, m_btCancel);
- //}}AFX_DATA_MAP
- }
- BEGIN_MESSAGE_MAP(CLoginDialog, CDialog)
- //{{AFX_MSG_MAP(CLoginDialog)
- ON_WM_TIMER()
- ON_WM_DESTROY()
- //}}AFX_MSG_MAP
- END_MESSAGE_MAP()
- /////////////////////////////////////////////////////////////////////////////
- // CLoginDialog message handlers
- void CLoginDialog::OnOK()
- {
- // TODO: Add extra validation here
-
-
- UpdateData(true);
- int flag=0;
- _variant_t vID,vUsername,vPassword,vUserpower;
-
- // _variant_t vUsername,vBirthday,vID,vOld;
- try
- {
- m_pRecordset.CreateInstance("ADODB.Recordset");
- m_pRecordset->Open( "SELECT * FROM users",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
-
-
- while(!m_pRecordset->adoEOF)
- {
- vID = m_pRecordset->GetCollect("ID");
- vUsername = m_pRecordset->GetCollect("username");
- vPassword = m_pRecordset->GetCollect("password");
- vUserpower = m_pRecordset->GetCollect("userpower");
-
- if (((_bstr_t)vUsername==m_user)&&((_bstr_t)vPassword==m_password))
- {
- flag=1;
- power=(LPCTSTR)(_bstr_t)vUserpower;
- break;
- }
- m_pRecordset->MoveNext();
- }
-
- }
-
- catch(_com_error e)///捕捉异常
- {
- AfxMessageBox("读取数据库失败!");///显示错误信息
- }
- if (flag==0) /*合法用户*/
- {
- AfxMessageBox("对不起,用户名或密码错误,无法登录!");
- exit(0);
- }
- CDialog::OnOK();
- }
- BOOL CLoginDialog::OnInitDialog()
- {
- CDialog::OnInitDialog();
- m_btOk.LoadBitmaps(IDB_OK);
- m_btOk.SetTextAlignment(CTrackLookButton::AlignRight);
- m_btCancel.LoadBitmaps(IDB_CANCEL);
- m_btCancel.SetTextAlignment(CTrackLookButton::AlignRight);
-
- SetTimer(0,500,NULL);
- // TODO: Add extra initialization here
- m_IconLock=AfxGetApp()->LoadIcon(IDI_LOCK);
- m_IconUnlock=AfxGetApp()->LoadIcon(IDI_UNLOCK);
- return TRUE; // return TRUE unless you set the focus to a control
- // EXCEPTION: OCX Property Pages should return FALSE
- }
- void CLoginDialog::OnTimer(UINT nIDEvent)
- {
- static BOOL bLockState=TRUE;
- if(bLockState)
- {
- m_Lock.SetIcon(m_IconLock);
- bLockState=!bLockState;
-
- }
- else
- {
- m_Lock.SetIcon(m_IconUnlock);
- bLockState=!bLockState;
- }
- CDialog::OnTimer(nIDEvent);
- }
- void CLoginDialog::OnDestroy()
- {
- CDialog::OnDestroy();
-
- // TODO: Add your message handler code here
- KillTimer(0);
- }