void CloginDlg::OnBnClickedOk()
{
UpdateData(TRUE);
CloginDlg Dlg;
CWnd* m_pMainWnd;
m_pMainWnd = ::AfxGetMainWnd();
loginOdbc namecard;
namecard.Open(); //레코드셋 열기
CString id = m_idedit; //ID에디트창의 Value변수를 id에 저장
CString pass = m_pass; //Pass에디트창의 Value변수를 pass저장
if(namecard.IsBOF()) return; //현재 레코드가 처음보다 순서상으로 앞서는 검사
while(!namecard.IsEOF()){ //현재레코드가 빈레코드인지 검사
CString DBid = namecard.m_Id;
CString DBpass = namecard.m_Pass;
if(0 == id.GetLength()) //에디트창의 길이를 구해서 검사를 하는부분
{
AfxMessageBox(_T("ID를 입력해주세요"));
return;
}
else if(0 == pass.GetLength()) //에디트창의 길이를 구해서 검사를 하는부분
{
AfxMessageBox(_T("패스워드를 입력해주세요"));
return;
}
else if(DBid == id && DBpass == pass) //입력받은 id와pass를 DB의 id,pass와 비교한다
{
m_pMainWnd->ShowWindow(SW_SHOW); //만약 id,pass가 일치하면 메인화면을 띄운다.
m_pMainWnd->UpdateWindow();
m_pMainWnd->CenterWindow();
SendMessage(WM_CLOSE,0,0); //로그인창은 닫는다
return;
}
namecard.MoveNext(); //레코드포인터를 다음레코드로 이동
}
namecard.MoveLast(); //래코드포인터를 마지막레코드로 이동
AfxMessageBox(_T("ID 또는 패스워드가 틀렸습니다.")); //다 검사했는데 일치하는게없으니
//이걸 출력
}
'C & C++ > C & C++' 카테고리의 다른 글
API 주요 함수 (0) | 2011.04.29 |
---|---|
사용자 정의 이벤트(Event) (0) | 2011.04.29 |
[공통] 메모리 누수 추적 (0) | 2011.04.28 |
CFileDialog::GetFolderPath() 에러 대처법 (0) | 2011.04.28 |
프린트 인쇄 관련 (0) | 2011.04.28 |
댓글