Q&A

  • 쿼리검색해서 맞는지 확인하는 것은 어떻게 해야하죠?

음...
지금 자원관리?류의 프로그램을 만들려고 하는 시작단계입니다.
처음에 로그인해서 프로그램을 사용하게 하려는데,
생각보다 잘 안되서 도움을 받고자 글을 올려요~

'아이디'와 '패스워드'를 입력하고 [로그인]버튼 누르면,
DB에 있는 값과 비교해서 맞는 지 확인해서 그 결과를 TRUE나 FALSE를 넘겨받으려고 합니다.

머리 속에서는 그려지는 데,
근본없는 초보라서 실제구현을 어떻게 해야할 지 헤매고 있습니다.


델파이7, 파이어버드2.0쓰고 있습니다.
최종적으로 나오는 결과물의 모양은 로컬에서 돌아가는 프로그램이고요.

도움말씀 부탁드려요~



4  COMMENTS
  • Profile
    최용일 2009.06.26 03:59
    아이디, 패스워드를 select해서 디비에 해당하는 레코드가 있으면 True, 없으면 False
  • Profile
    윤영훈 2009.06.27 02:55
    QueryLogin.Close;
    strQuery_checkID:= 'Select ID from TB_LoginInfo where ID like :strCheckID';
    QueryLogin.SQL.Text:= strQuery_checkID;
    QueryLogin.ParamByName('strCheckID').AsString:= Edit1.Text;
    QueryLogin.Open;

    이런 구문에서 True나 False를 어떻게 받아와야 하는 지 알 수 있을까요?

    일단은 DBGrid에 값 나타나게 한 다음에 string변수:= DBGrid1.Fields[0].AsString; 요렇게 해서 값비교하는 걸로 했는데,
    혹시 쿼리실행한 예상결과값이 하나일 때, 이거를 바로 다른 스트링이랑 비교하는 방법이 있으면 알려주세요~~
  • Profile
    최용일 2009.06.27 03:16
    그냥 레코드유무만 검색하시면 될건데요...

    function UserExists(CheckID: string): Boolean;
    begin
    QueryLogin.Close;
    strQuery_checkID:= 'Select ID from TB_LoginInfo where ID like :strCheckID';
    QueryLogin.SQL.Text:= strQuery_checkID;
    QueryLogin.ParamByName('strCheckID').AsString:= CheckID;
    QueryLogin.Open;
    Result := not QueryLogin.EoF;
    end;


    if UserExists(Edit1.Text) then
    ShowMessage('사용자가 존재합니다.')
    else
    ShowMessage('사용자가 없습니다.');
  • Profile
    윤영훈 2009.06.29 22:38
    감사합니다.
    잘 몰라서 function을 procedure처럼 썼더니
    QueryLogin를 인식 못하는지 오류가 나길래,
    그냥 procedure안에서 사용했더니 잘 되더군요.
    근본없는 초보라서 하나하나가 어렵네요ㅎ
    도움주셔서 감사합니다.