|
소스가 좀 복잡해 보여서 제가 정리했습니다요.테스트는 안해봤지만..
q->Close();
q->SQL->Text="select pass from login_test where name='"+F_ID->Text.Trim()+"'";
q->Open();
if(q->Eof){ //찾은게 없다면 or q->RocordCount==0
ShowMessage("등록된 사용자ID가 아님.");
return;
}
if(q->FieldByName("pass")->AsString.Trim()!=F_Pass->Text.Trim()){
//찾은거의 pass가 다르다면
ShowMessage("Password가 다릅니다");
return;
}
ShowMessage("login 성공");
배달민족 님이 쓰신 글 :
: 안녕하세요..
: C빌더 초보입니다.
: 이번에 C빌더를 이용해서 사용자 인증하는걸 시험삼아 구현하려는데요...
: 좀 막히네요...
: 부끄럽지만, 이제 겨우 DB에 있는 사용자와 Password를 찾아서 있는지 없는지를
: 알아내는것 까지는 되었는데요...
: 그사용자 ID의 Password가 아니어도, DB에 있으면 그냥 로그인 성공한걸로 되는데...
: 무슨 방법이 있을듯 한데...
: sql문에 대해 책을 찾아보아도 도무지 보이질 않네요...
: 코딩내용은 아래와 같습니다.
:
: =======================================================
: /// 사용자 & Passwd검색
: AnsiString strSQL1, strSQL2, strRST1, strRST2;
: Query1->Close();
: Query1->SQL->Clear();
: strSQL1 = "select Name from login_test where Name='"+F_ID->Text +"'";
: Query1->SQL->Add(strSQL1);
: Query1->Open();
: strRST1=Query1->Fields->Fields[0]->AsString;
: if(strRST1 == F_ID->Text )
: {
: Query1->Close();
: Query1->SQL->Clear();
: strSQL2 = "select Pass from login_test where Pass='"+F_Pass->Text +"'";
: Query1->SQL->Add(strSQL2);
: Query1->Open();
: strRST2=Query1->Fields->Fields[0]->AsString;
: if(strRST2 == F_Pass->Text)
: {
: ShowMessage("login 성공");
: } else if(strRST2!= F_Pass->Text) ShowMessage("Password가 다릅니다");
: }else if(strRST1!= F_ID->Text) ShowMessage("사용자ID가 다릅니다");
:
: ==========================================================
:
: 부디 방법을 알려주시면 감사하겠습니다.
: 이것때문에 며칠을 고생했는뎅..ㅡ.ㅡ;;;;
:
: 그럼 행복하세요~~
:
:
|